Feb2018: This is a very generic question of an older request, I answer it anyhow, maybe someone will be searching for this info, just like I was doing :-)
The main point is, that the transaction is not part of the block header.
The block starts with a blocksize number of 4 bytes, a block header of 80 bytes, and a transaction counter (var_int, 1-9 Bytes). Then follows all the transactions in the block. The block header starts with a 4 bytes version field, followed by the previous block hash (32 bytes) and the merkle tree (32bytes). This is followed by three fields of 4 bytes each: difficulty, timestamp, and nonce.
In your example, the block should be composed this way:
Block size: 00000264 (612 Bytes)
Merkle root: 37022f7a3b9a2b199d53fbf1552be32c141892319966c3ef999d348d74cfb582
tx counter: 2
Without the first field, this is a length of 612 bytes, which must be converted into a 4 bytes, which is placed at the beginning of the block. So the full block would be:
<coinbase ... >
Then the merkle tree needs to be re-calculated, and double sha256'd. The length need to be calculated, and put at the very beginning, and the "coinbase tx" is missing (funds calculations!).
The details of the structure can be found here in these two reference pages: