[Quickfix-developers] Issue in parsing FIX44 Message - MsgTyp=n
Brought to you by:
orenmnero
From: Tan W. H. <wen...@bu...> - 2009-11-20 04:26:04
|
Hi All, Is this a known issue in QuickFix ? Whenever I pass the Message class a string with the following C++ string: "8=FIX.4.4\0019=73\00135=n\00149=BRKR\00156=INVMGR\00134=235\00152=19980604-07:58:28\001212=14\001213=<R>A=B\001C=D</R>\00110=235\001" It's unable to extract XmlData(213) properly if the contents contains embeded SOH characters, eventhough XmlDataLen(212) has specified its length accordingly. The Message::extractField method seems to only check the availability of the "length field" i.e XmlDataLen(212) in the BODY fields, ignoring the HEADER fields. Please correct me if I'm wrong. Thanks, wh --------------START Code Excerpt-------------------------- if ( pDD && pDD->isDataField(field) ) { std::string fieldLength; // Assume length field is 1 less. int lenField = field - 1; // Special case for Signature which violates above assumption. if ( field == 89 ) lenField = 93; if ( pGroup && pGroup->isSetField( lenField ) ) { fieldLength = pGroup->getField( lenField ); soh = equalSign + 1 + atol( fieldLength.c_str() ); } else if ( isSetField( lenField ) ) { fieldLength = getField( lenField ); soh = equalSign + 1 + atol( fieldLength.c_str() ); } ///****NO LOGIC TO LOOK INTO the HEADER FIELDS**** --------------END Code Excerpt -------------------------- DISCLAIMER: This e-mail (including any attachments) may contain confidential information. If you are not the intended recipient, you are hereby notified that any review, distribution, printing, copying or use of this e-mail is strictly prohibited. If you have received this e-mail in error, please notify the sender or Bursa Malaysia immediately and delete the original message. Opinions, conclusions and other information in this e-mail that do not relate to the official business of Bursa Malaysia and/or its group of companies ("Bursa Malaysia Group") shall be understood as neither given nor endorsed by Bursa Malaysia Group and Bursa Malaysia Group accepts no responsibility for the same. All liability arising from or in connection with computer viruses and/or corrupted e-mails is excluded to the fullest extent permitted by law. |