[Quickfix-developers] Order of fields changes when sending (repeating group)
Brought to you by:
orenmnero
|
From: Yoav <yo...@ya...> - 2007-11-12 18:39:08
|
Hi,
I'm doing my first steps with QuickFix.
My system: QuickFix C++ (latest version, Solaris 10 compiled with the native complier).
The problem: I create a FIX::Message by setting a string which I want to send using a SocketInitiator.
This string is an QuoteRequest message.
I print the message before sending it by doing: toString() and the message looks fine (see below)
I use sendToTarget to send the message.
Before sending QuickFix prints a different output of the message and the receiving part complains that
the repeating group is "out of order" (and for a good reason, the fields are indeed out of order).
What am I doing wrong?
Log of the message that I print:
quickfix_send_message()
[8=FIX.4.2 9=124 35=R 131=quoteReqID 146=1 55=EUR/USD 48=EUR/USD 22=6
167=1 207=1 54=0 38=100000 64=01012008 60=20071112-18:08:56.069 15=EUR
10=115 ]
Log of the message as shown by QuickFix:
<20071112-18:08:56, FIX.4.2:CLIENT1->EXEC:1, outgoing>
(8=FIX.4.2 9=173 35=R 34=7 49=CLIENT1 52=20071112-18:08:56.743 56=EXEC
15=EUR 22=6 38=100000 48=EUR/USD 54=0 55=EUR/USD
60=20071112-18:08:56.069 64=01012008 131=quoteReqID 146=1 167=1 207=1
10=152 )
What I'm doing in my code is:
FIX:Message message;
FIX::DataDictionary p("../quickfix/spec/FIX42.xml" );
message.setString(str, true, &p);
std::cout<<"quickfix_send_message() ["<<message.toString()<<"]"<<std::endl;
FIX::Session::sendToTarget(message, senderid, targetid, qualifier);
Thanks,
Yoav
|