[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.
==============================================================================
|