[Quickfix-users] Problem with custom data dictionary
Brought to you by:
orenmnero
From: Dan B. <dbo...@so...> - 2011-02-07 19:42:14
|
Hi, I'm using quickfix 4.4 with .NET. I have a need to take a Trade Capture message stored as a string, and then create the Trade Capture object from that. It has been working fine, but now I'm needing to use TrdType (828) from ICE. Per the FIX spec, this should be an int, but ICE can send characters, so I tried to change the FIX44.xml file to define this field as a string. <field number="828" name="TrdType" type="STRING"> <value enum="0" description="REGULAR_TRADE" /> <value enum="1" description="BLOCK_TRADE" /> <value enum="2" description="EFP" /> <value enum="3" description="TRANSFER" /> <value enum="4" description="LATE_TRADE" /> <value enum="5" description="T_TRADE" /> <value enum="6" description="WEIGHTED_AVERAGE_PRICE_TRADE" /> <value enum="7" description="BUNCHED_TRADE" /> <value enum="8" description="LATE_BUNCHED_TRADE" /> <!--<value enum="9" description="PRIOR_REFERENCE_PRICE_TRADE" />--> <value enum="9" /> <!-- CCX EFP Trade --> <value enum="K" /> <!-- Block Trade --> <value enum="E" /> <!-- EFP Trade --> .... When I get a trade where 828=E, I get an exception when the Trade Capture object is set using this code: var trade = new TradeCaptureReport(); trade.setString(message, true, new QuickFix.DataDictionary("C:\IceConfig\FIX44.xml")); {"Exception of type 'QuickFix.InvalidMessage' was thrown."} System.Exception {QuickFix.InvalidMessage} What am I doing wrong? Thanks, Dan |