Hi,
I'm trying to build a trading application using repeating groups and
I'm running into some trouble with field order (at least that's what I
think is wrong).
I start off by sending a MarketDataRequest as follows:
(8=3DFIX.4.2=019=3D170=0135=3DV=0134=3D2=0149=3DEDDE_MD=0152=3D20050131-16:=
07:41.425=0156=3DFIP=01146=3D1=0155=3DEric
B=0148=3D101=0122=3D8=01207=3DST=01262=3DFR-SE0000108656-0=01263=3D0=01264=
=3D1=01267=3D7=01269=3D0=01269=3D1=01269=3D2=01269=3D4=01269=3D5=01269=3D8=
=01269=3D7=0110=3D103=01)
My counterpart application is answering this message by sending two
separate MarketDataSnapshotFullRefresh messages back. The first one
looks like this and I have no problems parsing this message containing
the first two entries in the repeating group:
(8=3DFIX.4.2=019=3D131=0135=3DW=0134=3D2=0149=3DFIP=0152=3D20050131-16:06:5=
7.510=0156=3DEDDE_MD=01262=3DFR-SE0000108656-0=01268=3D2=01269=3D0=01270=3D=
20.8=01271=3D10000=01269=3D1=01270=3D20.9=01271=3D13000=0110=3D146=01)
The problem occurrs when I try to parse the second message which
contains the last five entries in the repeating group. This message
look like this:
(8=3DFIX.4.2=019=3D196=0135=3DW=0134=3D3=0149=3DFIP=0152=3D20050131-16:06:5=
7.512=0156=3DEDDE_MD=01262=3DFR-SE0000108656-0=01268=3D5=01381=3D28185455.4=
=01387=3D1354717=01561=3D1000=01269=3D2=01270=3D20.9=01271=3D1000=01269=3D4=
=01270=3D0=01269=3D5=01270=3D22.2=01269=3D7=01270=3D20.9=01269=3D8=01270=3D=
20=0110=3D146=01)
I never get a chance to parse this message since the QuickFix engine
traps the message and sends the following message back.
(8=3DFIX.4.2=019=3D122=0135=3D3=0134=3D3=0149=3DEDDE_MD=0152=3D20050131-16:=
07:43.928=0156=3DFIP=0145=3D3=0158=3DIncorrect
NumInGroup count for repeating group=01371=3D268=01372=3DW=0110=3D177=01)
Now, based on the reject message this seems to be a problem with the
number of entries in the group but that seems ok to me (268=3D5 and
there are five 269 tags in the message).
However, when I double checked the FIX spec for the MDEntryType field
it says "Must be the first field in the repeating group". In the
message I receive the 268=3D5 tag isn't immediately followed by the
first 269 tag so I suspect this is the problem but I want to make sure
this is the case before I go to my counterparty and tells them there
is a bug in their application.
Is this indeed the reason why QuickFix is rejecting the message?
If this is the reason then is there a way to make QuickFix ignore this
error so I can test the application before my counterparty fixes the
bug?
Thanks,
/Eddie
|