Configuration parameter ValidateFieldsOutOfOrder not working when header fields found in body part #467
Replies: 1 comment
-
see #468 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi FIX Community,
I'm attempting to exchange messages with a party that does properly order fields. When ValidateFieldsOutOfOrder=N, simpler messages such as Logon and TradeExecutionReportRequestAck message works fine, as all message header fields are at the start of the message, albeit not in order.
The problem I'm facing now is that the TradeExecutionReport fails to process (Rejected with "Received message without MsgSeqNum") as TAG34 is present in the message body, and not the header.
ValidateFieldsOutOfOrder: If set to N, fields that are out of order (i.e. body fields in the header, or header fields in the body) will not be rejected. Useful for connecting to systems which do not properly order fields.
So, my assumption is that, even if the Header field is provided within the message body, QuickFix/J should still be able to extract the relevant fields and populate the Message.Header object correctly.
QuickFix/J Version 2.3.1
JDK 1.8
FIX5.0SP2
TradeExecutionReport Test Message 1 - All Header fields at start of message, and reading the message works perfect:
TradeExecutionReport Test Message 2 - Only TAG8,9 and 35 at start of message, all other header tags mixed into body of message:
Configuration values I do set to prevent certain validations:
ValidateUserDefinedFields: N
ValidateFieldsOutOfOrder: N
ValidateFieldsHaveValues: N
ValidateUnorderedGroupFields: N
AllowUnknownMsgFields: Y
The test I perform (test Messages loaded from a resource file):
The output of running the test:
Any help/comments would be greatly appreciated.
Kind regards
Beta Was this translation helpful? Give feedback.
All reactions