Re: [Quickfix-developers] Fwd: Problems with MarketDataIncrementalRefresh
Brought to you by:
orenmnero
From: Djalma R. d. S. F. <drs...@gm...> - 2009-06-21 14:53:14
|
Hi Andre, Make sure you are using the constructor bellow that receives the DataDictionary, otherwise quickfix won't be able to process the repeating groups in the message. Message( const std::string& string, const DataDictionary& dataDictionary, bool validate = true ) Djalma On Fri, Mar 6, 2009 at 3:38 PM, Andre Derraik<and...@al...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi All, > > I'm new with quickfix, but I'm creating a application to read a text file with FIX lines. > I use the Parser class to validate the message and it's OK. > > ------------------------------------- > 8=FIX.4.4 9=628 35=X 34=2 49=TradingEngineDerivatives01A 52=20080501-03:35:23.379 56=FIXGatewayDerivatives_MD 10016=15977_1 75=20080501 268=5 279=1 269=c 278=1 55=BGIJ09 48=BMFBR7312910 22=8 272=20080501 273=03:35:10 336=TradingSessionID 326=122 279=2 269=d 278=2 55=BGIJ09 48=BMFBR7312910 22=8 272=20080501 273=03:35:10 336=TradingSessionID 279=1 269=b 278=3 55=BGIJ09 48=BMFBR7312910 22=8 272=20080501 273=03:35:10 336=TradingSessionID 625=I 279=1 269=c 278=4 55=BGIJ09 48=BMFBR7312910 22=8 272=20080501 273=03:35:10 336=TradingSessionID 326=122 279=2 269=d 278=5 55=BGIJ09 48=BMFBR7312910 22=8 272=20080501 273=03:35:10 336=TradingSessionID 10=034 > > 8=FIX.4.4 9=630 35=X 34=3 49=TradingEngineDerivatives01A 52=20080501-03:35:23.395 56=FIXGatewayDerivatives_MD 10016=14827_105 75=20080501 268=5 279=1 269=c 278=1 55=BGIH09 48=BMFBR7312795 22=8 272=20080501 273=03:35:10 336=TradingSessionID 326=122 279=2 269=d 278=2 55=BGIH09 48=BMFBR7312795 22=8 272=20080501 273=03:35:10 336=TradingSessionID 279=1 269=b 278=3 55=BGIH09 48=BMFBR7312795 22=8 272=20080501 273=03:35:10 336=TradingSessionID 625=I 279=1 269=c 278=4 55=BGIH09 48=BMFBR7312795 22=8 272=20080501 273=03:35:10 336=TradingSessionID 326=122 279=2 269=d 278=5 55=BGIH09 48=BMFBR7312795 22=8 272=20080501 273=03:35:10 336=TradingSessionID 10=165 > ------------------------------------- > > But when I send to the MessageCracker I have problems. > > When I try to get the NoMDEntries group I got an error: FieldNotFound. > > ------------------------------------- > // Test if we have the groups > FIX44::MarketDataIncrementalRefresh::NoMDEntries noMDEntriesGroup; > if( !message.hasGroup( noMDEntriesGroup ) ) > { > std::cout << "\n\tInvalid Message: no Group\n]\n"; > return; > } > > // Read a entry group > try > { > message.getGroup( 1, noMDEntriesGroup ); > } > catch( FIX::FieldNotFound e ) > { > std::cout << "\tnoGroup(" << e.field << ")"; > continue; > } > ------------------------------------- > > Investigating the problem, I try to use the DataDictinary to validate the message: > > ------------------------------------- > DD_FIX44 = new FIX::DataDictionary( "/opt/quickfix/share/quickfix/FIX44.xml" ); > > try > { > const std::string& msgTypeValue = message.getHeader().getField( FIX::FIELD::MsgType ); > std::string str; > DD_FIX44->getFieldName( 22, str ); > std::cout << "[ " << str << " ] " > << msgTypeValue << " " > << DD_FIX44->isMsgField( msgTypeValue, 22 ) << std::endl; > > DD_FIX44->validate( message ); > } > catch( FIX::TagNotDefinedForMessage e ) > { > std::cout << "Problems: [ TagNotDefinedForMessage " << e.field << e.detail > << " ]" << std::endl; > } > > OUTPUT: > [ SecurityIDSource ] X 0 > Problems: [ TagNotDefinedForMessage 22 ] > > ------------------------------------- > > The problem is: the tag 22 (SecurityIDSource), present in the FIX messages, is return that is NOT defined for the message. > But looking at the XML and the "fix44/MarketDataIncrementalRefresh.h" is defined! > > So, any one with this problem? Any help? > > Thanks in advance, > Andre B Derraik. > ALBD Consulting > > > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |