[Quickfix-users] Problem parsing repeating group
Brought to you by:
orenmnero
From: Kidd, N. <nat...@cs...> - 2004-10-18 15:37:57
|
I an sending a security list request ("x") to a target server belonging to a 3rd party. In response I get a list of securitylist messages ("y"). The FIX spec supplied by the 3rd party indicates that a user defined field 6138 can occur within the Instrument component. I've therefore added the user defined tag to the XML file we are using for validation. An example message (header not shown): 146=155=MN 5500K48=2022=8461=OCXXXS200=200411541=20041119225=20040823202=5500231=16138=1711=1311=MNX04EXE15=EUR320=1322=03E382B50000560=0393=5015893=N325=N10=009 However, quickfix doesn't read the message in correctly, and results in field 711 being parsed twice. This means that when the body length check is done, quickfix calculates it incorrectly, resulting in the following error: 20041018-15:07:19 : Invalid message: Expected BodyLength=242, Recieved BodyLength=236 Debugging reveals that quickfix appears to be reading field 6138 as part of the 711 group, and reading field 711 twice (hence the incorrect length). Does anyone recognised what I may have done incorrectly? Many thanks, Nathan This is from my xml: <components> <component name="Instrument"> <field name="Symbol" required="Y" /> <field name="SymbolSfx" required="N" /> <field name="SecurityID" required="N" /> <field name="SecurityIDSource" required="N" /> <group name="NoSecurityAltID" required="N"> <field name="SecurityAltID" required="N" /> <field name="SecurityAltIDSource" required="N" /> </group> <field name="Product" required="N" /> <field name="CFICode" required="N" /> <field name="SecurityType" required="N" /> <field name="SecuritySubType" required="N" /> <field name="MaturityMonthYear" required="N" /> <field name="MaturityDate" required="N" /> <field name="CouponPaymentDate" required="N" /> <field name="IssueDate" required="N" /> <field name="RepoCollateralSecurityType" required="N" /> <field name="RepurchaseTerm" required="N" /> <field name="RepurchaseRate" required="N" /> <field name="Factor" required="N" /> <field name="CreditRating" required="N" /> <field name="InstrRegistry" required="N" /> <field name="CountryOfIssue" required="N" /> <field name="StateOrProvinceOfIssue" required="N" /> <field name="LocaleOfIssue" required="N" /> <field name="RedemptionDate" required="N" /> <field name="StrikePrice" required="N" /> <field name="StrikeCurrency" required="N" /> <field name="OptAttribute" required="N" /> <field name="ContractMultiplier" required="N" /> <field name="TickSize" required="Y" /> <field name="CouponRate" required="N" /> <field name="SecurityExchange" required="N" /> <field name="Issuer" required="N" /> <field name="EncodedIssuerLen" required="N" /> <field name="EncodedIssuer" required="N" /> <field name="SecurityDesc" required="N" /> <field name="EncodedSecurityDescLen" required="N" /> <field name="EncodedSecurityDesc" required="N" /> <field name="Pool" required="N" /> <field name="ContractSettlMonth" required="N" /> <field name="CPProgram" required="N" /> <field name="CPRegType" required="N" /> <group name="NoEvents" required="N"> <field name="EventType" required="N" /> <field name="EventDate" required="N" /> <field name="EventPx" required="N" /> <field name="EventText" required="N" /> </group> <field name="DatedDate" required="N" /> <field name="InterestAccrualDate" required="N" /> </component> <SNIP><SNIP><SNIP> <field number="6138" name="TickSize" type="PRICE" /> ============================================================================== This message is for the sole use of the intended recipient. If you received this message in error please delete it and notify us. If this message was misdirected, CSFB does not waive any confidentiality or privilege. CSFB retains and monitors electronic communications sent through its network. Instructions transmitted over this system are not binding on CSFB until they are confirmed by us. Message transmission is not guaranteed to be secure. ============================================================================== |