[Quickfix-developers] repeating group
Brought to you by:
orenmnero
From: Joy B. <jo...@cy...> - 2004-08-13 14:05:10
|
i seem to be having a problem handling repeating groups (NoQuoteEntries) = as also groups nested within groups. for the message type "MassQuote" i am getting the following output:=20 <20040813-12:05:59, FIX.4.4:TW->CLIENT1, incoming> (8=3DFIX.4.4 9=3D128?35=3Di 34=3D57 49=3DCLIENT1 52=3D20040813-12:05:59.000 56=3DTW=20 117=3DID1 295=3D2 299=3DID 299=3DID3 = 296=3D2?302=3DID2?304=3D2?295=3D2?302=3DID4?304=3D2?295=3D2?10=3D041?) <20040813-12:05:59, FIX.4.4:TW->CLIENT1, event> (Message 57 Rejected: Tag not defined for this message type:295) <20040813-12:05:59, FIX.4.4:TW->CLIENT1, outgoing> (8=3DFIX.4.4 9=3D120 35=3D3 34=3D57 49=3DTW 52=3D20040813-12:05:59.000 56=3DCLIENT1 45=3D57 58=3DTag not defined for this message type 371=3D295 372=3Di 373=3D2 10=3D249) The client side code is as follows: FIX44::MassQuote Application::queryMassQuote44() { FIX44::MassQuote massQuote(queryQuoteID()); massQuote.set( queryNoQuoteSets() ); =20 FIX44::MassQuote::NoQuoteSets noQuoteSetsGroup; =20 noQuoteSetsGroup.set( queryQuoteSetID () ); noQuoteSetsGroup.set( queryTotNoQuoteEntries() ); noQuoteSetsGroup.set( queryNoQuoteEntries() ); massQuote.addGroup( noQuoteSetsGroup ); =20 FIX44::MassQuote::NoQuoteSets::NoQuoteEntries noQuoteEntriesGroup; noQuoteEntriesGroup.set(queryQuoteEntryID () ); noQuoteSetsGroup.addGroup( noQuoteEntriesGroup ); noQuoteSetsGroup.set( queryQuoteSetID () ); noQuoteSetsGroup.set( queryTotNoQuoteEntries() ); noQuoteSetsGroup.set( queryNoQuoteEntries() ); massQuote.addGroup( noQuoteSetsGroup ); noQuoteEntriesGroup.set(queryQuoteEntryID () ); noQuoteSetsGroup.addGroup( noQuoteEntriesGroup ); queryHeader( massQuote.getHeader() ); return massQuote; } the server side code is as follows: void Application::onMessage( const FIX44::MassQuote& message, const FIX::SessionID& sessionID ) { FIX::QuoteID quoteID; FIX::NoQuoteSets noQuoteSets; =20 message.get( quoteID ); message.get( noQuoteSets ); FIX44::MassQuote::NoQuoteSets noQuoteSetsGroup; FIX::QuoteSetID quoteSetID; FIX::TotNoQuoteEntries totNoQuoteEntries; FIX::NoQuoteEntries noQuoteEntries; message.getGroup(1, noQuoteSetsGroup); noQuoteSetsGroup.getField( quoteSetID ); noQuoteSetsGroup.getField( totNoQuoteEntries ); noQuoteSetsGroup.getField( noQuoteEntries ); FIX44::MassQuote::NoQuoteSets::NoQuoteEntries noQuoteEntriesGroup1; FIX::QuoteEntryID quoteEntryID; message.getGroup(1, noQuoteEntriesGroup1); noQuoteEntriesGroup1.getField( quoteEntryID ); =20 message.getGroup(2, noQuoteSetsGroup); noQuoteSetsGroup.getField( quoteSetID ); noQuoteSetsGroup.getField( totNoQuoteEntries ); noQuoteSetsGroup.getField( noQuoteEntries ); FIX44::MassQuote::NoQuoteSets::NoQuoteEntries noQuoteEntriesGroup2; message.getGroup(1, noQuoteEntriesGroup2); noQuoteEntriesGroup2.getField( quoteEntryID ); =20 FIX44::MassQuoteAcknowledgement massQuoteAcknowledgement =3D = FIX44::MassQuoteAcknowledgement ( FIX::QuoteStatus( 0 )); try { FIX::Session::sendToTarget( massQuoteAcknowledgement, sessionID ); } catch ( FIX::SessionNotFound& ) {} } |