[Quickfix-users] Message with contents set through Message.setString(string) can't be cracked in .N
Brought to you by:
orenmnero
From: abaraff <ab...@ra...> - 2011-05-20 14:45:48
|
If a message is cloned using the .setString(string) method, calling crack on it fails. As you can see from my example below, crack is successful on the original message but throws an exception when called on the clone: public void fromApp(Message msg, SessionID sessionID) { try { string message = msg.ToString(); Message newMessage = new Message(); newMessage.setString(msg.ToString(), true); crack(msg, sessionID); try { crack(newMessage, sessionID); } catch (Exception e2) { System.Diagnostics.Debug.WriteLine(e2.ToString()); System.Diagnostics.Debug.WriteLine(msg.ToString() == newMessage.ToString()); System.Diagnostics.Debug.WriteLine("orig: " + msg.ToString()); System.Diagnostics.Debug.WriteLine("new: " + newMessage.ToString()); System.Diagnostics.Debug.WriteLine("orig: " + msg.ToXML()); System.Diagnostics.Debug.WriteLine("new: " + newMessage.ToXML()); System.Diagnostics.Debug.WriteLine("round trip failed"); } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.ToString()); } } public override void onMessage(QuickFix42.NewOrderSingle message, SessionID session) { System.Diagnostics.Debug.WriteLine("New Order Single"); } Output: New Order Single A first chance exception of type 'QuickFix.UnsupportedMessageType' occurred in quickfix_net_messages.dll QuickFix.UnsupportedMessageType: Exception of type 'QuickFix.UnsupportedMessageType' was thrown. at QuickFix42.MessageCracker.onMessage(Message message, SessionID session) at QuickFix42.MessageCracker.crack(Message message, SessionID sessionID) at FIXServer.FIXServerApp.fromApp(Message msg, SessionID sessionID) in C:\Dev\Abaraff\FIXServer\FIXServer\FIXServerApp.cs:line 244 True orig: 8=FIX.4.29=18035=D34=249=SCT152=20110520-14:38:23.52356=SCTC11=SCT20110520-103823_0000818=121=138=20040=154=155=IBM58=SCT20110520-103823_0000859=060=20110520-10:38:23100=DB-SMART10=239 new: 8=FIX.4.29=18035=D34=249=SCT152=20110520-14:38:23.52356=SCTC11=SCT20110520-103823_0000818=121=138=20040=154=155=IBM58=SCT20110520-103823_0000859=060=20110520-10:38:23100=DB-SMART10=239 orig: <message> <header> <field number="8"><![CDATA[FIX.4.2]]></field> <field number="9"><![CDATA[180]]></field> <field number="35"><![CDATA[D]]></field> <field number="34"><![CDATA[2]]></field> <field number="49"><![CDATA[SCT1]]></field> <field number="52"><![CDATA[20110520-14:38:23.523]]></field> <field number="56"><![CDATA[SCTC]]></field> </header> <body> <field number="11"><![CDATA[SCT20110520-103823_00008]]></field> <field number="18"><![CDATA[1]]></field> <field number="21"><![CDATA[1]]></field> <field number="38"><![CDATA[200]]></field> <field number="40"><![CDATA[1]]></field> <field number="54"><![CDATA[1]]></field> <field number="55"><![CDATA[IBM]]></field> <field number="58"><![CDATA[SCT20110520-103823_00008]]></field> <field number="59"><![CDATA[0]]></field> <field number="60"><![CDATA[20110520-10:38:23]]></field> <field number="100"><![CDATA[DB-SMART]]></field> </body> <trailer> <field number="10"><![CDATA[239]]></field> </trailer> </message> new: <message> <header> <field number="8"><![CDATA[FIX.4.2]]></field> <field number="9"><![CDATA[180]]></field> <field number="35"><![CDATA[D]]></field> <field number="34"><![CDATA[2]]></field> <field number="49"><![CDATA[SCT1]]></field> <field number="52"><![CDATA[20110520-14:38:23.523]]></field> <field number="56"><![CDATA[SCTC]]></field> </header> <body> <field number="11"><![CDATA[SCT20110520-103823_00008]]></field> <field number="18"><![CDATA[1]]></field> <field number="21"><![CDATA[1]]></field> <field number="38"><![CDATA[200]]></field> <field number="40"><![CDATA[1]]></field> <field number="54"><![CDATA[1]]></field> <field number="55"><![CDATA[IBM]]></field> <field number="58"><![CDATA[SCT20110520-103823_00008]]></field> <field number="59"><![CDATA[0]]></field> <field number="60"><![CDATA[20110520-10:38:23]]></field> <field number="100"><![CDATA[DB-SMART]]></field> </body> <trailer> <field number="10"><![CDATA[239]]></field> </trailer> </message> round trip failed -- View this message in context: http://old.nabble.com/Message-with-contents-set-through-Message.setString%28string%29-can%27t-be-cracked-in-.Net-tp31664717p31664717.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |