Correct order of header fields

Imported from previous forum

Hello,

is there a defined order in which the header fields should be ordered? Quickfix throws an exception saying ‘Header fields out of order’ for the following message:

20121218-16:24:11.705 : 8=FIX.4.29=7635=249=XXXXXXX156=YYYYYYY134=286369=26652=20121218-16:24:117=26716=010=139

Thanks,
Thomas

I agree with Aaron. In fact I would go further and say that FIX 4.2 DOES require the ordering of the first three fields. Take a trip down memory lane and download the FIX 4.2 spec from http://www.fixprotocol.org/specifications/FIX.4.2.

On page 18, describing the Standard Message Header you will see:

Tag Field Name Req’d Comments

8 BeginString Y FIX.4.2 (Always unencrypted, must be first field in message)

9 BodyLength Y (Always unencrypted, must be second field in message)

35 MsgType Y (Always unencrypted, must be third field in message)

Having said that, I don’t see anything wrong with the message you quoted. I don’t why Quickfix would reject it.

John

FIX 5.0 SP2 Vol 1 page 20 notes:

“2. The first three fields in the standard header are BeginString (tag #8) followed by BodyLength (tag #9) followed by MsgType (tag #35).”

So while (I believe and stand to be corrected) 4.2 doesn’t specifically have the same stated requirement it is implied in the docmentation (seee FIX 4.2 pg 23 Std mssg header table) many vendors apply this rule to previous versions to tidy up session management.

HTH’s

Hello,

is there a defined order in which the header fields should be ordered? Quickfix throws an exception saying ‘Header fields out of order’ for the following message:

20121218-16:24:11.705 : 8=FIX.4.29=7635=249=XXXXXXX156=YYYYYYY134=286369=26652=20121218-16:24:117=26716=010=139

Thanks,
Thomas

PS: page 18 in MS Word version of spec, page 23 in PDF version.

I agree with Aaron. In fact I would go further and say that FIX 4.2 DOES require the ordering of the first three fields. Take a trip down memory lane and download the FIX 4.2 spec from http://www.fixprotocol.org/specifications/FIX.4.2.

On page 18, describing the Standard Message Header you will see:

Tag Field Name Req’d Comments

8 BeginString Y FIX.4.2 (Always unencrypted, must be first field in message)

9 BodyLength Y (Always unencrypted, must be second field in message)

35 MsgType Y (Always unencrypted, must be third field in message)

Having said that, I don’t see anything wrong with the message you quoted. I don’t why Quickfix would reject it.

John

FIX 5.0 SP2 Vol 1 page 20 notes:

“2. The first three fields in the standard header are BeginString (tag #8) followed by BodyLength (tag #9) followed by MsgType (tag #35).”

So while (I believe and stand to be corrected) 4.2 doesn’t specifically have the same stated requirement it is implied in the docmentation (seee FIX 4.2 pg 23 Std mssg header table) many vendors apply this rule to previous versions to tidy up session management.

HTH’s

Hello,

is there a defined order in which the header fields should be ordered? Quickfix throws an exception saying ‘Header fields out of order’ for the following message:

20121218-16:24:11.705 : 8=FIX.4.29=7635=249=XXXXXXX156=YYYYYYY134=286369=26652=20121218-16:24:117=26716=010=139

Thanks,
Thomas

I too think the message is correctly formatted but QuickFIX has some issues regarding exceptions. It might be as simple as BeginSeqNo(7) of this ResendRequest being too high. Have you checked that?
Dean

dead right - I was obviously half asleep when I read that page.

PS: page 18 in MS Word version of spec, page 23 in PDF version.

I agree with Aaron. In fact I would go further and say that FIX 4.2 DOES require the ordering of the first three fields. Take a trip down memory lane and download the FIX 4.2 spec from http://www.fixprotocol.org/specifications/FIX.4.2.

On page 18, describing the Standard Message Header you will see:

Tag Field Name Req’d Comments

8 BeginString Y FIX.4.2 (Always unencrypted, must be first field in message)

9 BodyLength Y (Always unencrypted, must be second field in message)

35 MsgType Y (Always unencrypted, must be third field in message)

Having said that, I don’t see anything wrong with the message you quoted. I don’t why Quickfix would reject it.

John

FIX 5.0 SP2 Vol 1 page 20 notes:

“2. The first three fields in the standard header are BeginString (tag #8) followed by BodyLength (tag #9) followed by MsgType (tag #35).”

So while (I believe and stand to be corrected) 4.2 doesn’t specifically have the same stated requirement it is implied in the docmentation (seee FIX 4.2 pg 23 Std mssg header table) many vendors apply this rule to previous versions to tidy up session management.

HTH’s

Hello,

is there a defined order in which the header fields should be ordered? Quickfix throws an exception saying ‘Header fields out of order’ for the following message:

20121218-16:24:11.705 : 8=FIX.4.29=7635=249=XXXXXXX156=YYYYYYY134=286369=26652=20121218-16:24:117=26716=010=139

Thanks,
Thomas

Try moving the SendingTime field (Tag 52) before the LastMsgSeqNumProcessed field (Tag 369).

I too think the message is correctly formatted but QuickFIX has some issues regarding exceptions. It might be as simple as BeginSeqNo(7) of this ResendRequest being too high. Have you checked that?
Dean

dead right - I was obviously half asleep when I read that page.

PS: page 18 in MS Word version of spec, page 23 in PDF version.

I agree with Aaron. In fact I would go further and say that FIX 4.2 DOES require the ordering of the first three fields. Take a trip down memory lane and download the FIX 4.2 spec from http://www.fixprotocol.org/specifications/FIX.4.2.

On page 18, describing the Standard Message Header you will see:

Tag Field Name Req’d Comments

8 BeginString Y FIX.4.2 (Always unencrypted, must be first field in message)

9 BodyLength Y (Always unencrypted, must be second field in message)

35 MsgType Y (Always unencrypted, must be third field in message)

Having said that, I don’t see anything wrong with the message you quoted. I don’t why Quickfix would reject it.

John

FIX 5.0 SP2 Vol 1 page 20 notes:

“2. The first three fields in the standard header are BeginString (tag #8) followed by BodyLength (tag #9) followed by MsgType (tag #35).”

So while (I believe and stand to be corrected) 4.2 doesn’t specifically have the same stated requirement it is implied in the docmentation (seee FIX 4.2 pg 23 Std mssg header table) many vendors apply this rule to previous versions to tidy up session management.

HTH’s

Hello,

is there a defined order in which the header fields should be ordered? Quickfix throws an exception saying ‘Header fields out of order’ for the following message:

20121218-16:24:11.705 : 8=FIX.4.29=7635=249=XXXXXXX156=YYYYYYY134=286369=26652=20121218-16:24:117=26716=010=139

Thanks,
Thomas