TAG SPECIFIED OUT OF REQUIRED ORDER

761 views
Skip to first unread message

synct...@gmail.com

unread,
May 7, 2014, 1:09:55 PM5/7/14
to fix8-s...@googlegroups.com
Is there a way to ensure that the tags are ordered correctly? Is this done in the xml file, or in the way that I say:

Does the programatic sequence specify order, or does the xml file FIX44.xml etc?


*requst << new ...
*request << new TEX::DeliverToCompID("ALL");
*requst << new ...

synct...@gmail.com

unread,
May 7, 2014, 3:10:36 PM5/7/14
to fix8-s...@googlegroups.com, synct...@gmail.com
I should add the output of the log file:

0000002 out 8=FIX.4.4 9=165 35=V 49=quote.xxx.client25 56=xxx.xxx 34=2 52=20140507-19:07:23.933 262=1399489643 263=1 264=0 265=0 266=N 128=ALL 460=4 267=2 269=0 26
9=1 146=1 55=EUR/CHF 10=189
0000002 in 8=FIX.4.4 9=150 35=3 34=2 49=xxx.xxx 52=20140507-19:07:24.180 56=quote.xxx.xxx 115=ALL 45=2 58=Tag specified out of required order 371=128 37
2=V 373=14 10=244

synct...@gmail.com

unread,
May 7, 2014, 3:20:14 PM5/7/14
to fix8-s...@googlegroups.com, synct...@gmail.com
I looked through the QuickFIX documentation and it looks like specific field ordering is only required when there are repeating groups. I don't know how to resolve this in fix8.

Ian McKane

unread,
May 7, 2014, 7:43:37 PM5/7/14
to fix8-s...@googlegroups.com, synct...@gmail.com
Why are you concerned about the order? In Fix8 I think the order of fields in an encode is the order they appear in the XML. Unless your provider insists on field ordering (and very few do these days) it is not necessary except in the following circumstances:
  1. The first three fields of the header must be in the prescribed order
  2. The last field in the trailer must be the chksum
  3. the first field in a repeating group is mandatory
You cannot change the field ordering by ordering your add field statements. This should be clear if you examine the insert operator in FIX8::MessageBase.

Ian

synct...@gmail.com

unread,
May 7, 2014, 9:16:35 PM5/7/14
to fix8-s...@googlegroups.com, synct...@gmail.com
You are right I should not worry in the code, but I do have to worry about it in the XML.

The problem was that I was missing required fields. However, the other side was very unhelpful by giving me a somewhat misleading error message.

I have verified that it is the XML that enforces the ordering, not the code, which is as it should be.

Thanks for the help.

On Wednesday, May 7, 2014 6:43:37 PM UTC-5, Ian McKane wrote:
> Why are you concerned about the order? In Fix8 I think the order of fields in an encode is the order they appear in the XML. Unless your provider insists on field ordering (and very few do these days) it is not necessary except in the following circumstances:
> The first three fields of the header must be in the prescribed orderThe last field in the trailer must be the chksumthe first field in a repeating group is mandatory
Reply all
Reply to author
Forward
0 new messages