Re: [Quickfix-developers] non logged-on messages
Brought to you by:
orenmnero
|
From: John G. <joh...@wa...> - 2005-08-30 07:19:01
|
Hi and thanks for your answer, > > - I send my order to the initiator > > How's that? The Initiator class doesn't provide any methods for > sending messages. Only the Session class does. I was refering to the exe, not the implementation, sorry for not being clear. > No, this sort of thing Just Works. I can't make it. So something must be wrong in my code, but I don't know where to start hunting for it. > Perhaps you could provide a log from one of these scenarios. You can find at http://www.saphirtech.com/QF/ a tarball non-logged-on-messages.tar.gz that includes the programs tradeclient and ordermatch that I modified so they would launch correctly (can't make the shell wrapper work) and work on a FIX 4.1 standard (my clients' requirements, don't ask why). They are pretty close to the ones in examples/ distrib. If you don't compile on linux, I renamed "config.h" to qf_config.h because we have zillions of files named this way in here and one more did not appeal to me, but it's the same one. You should just have to modify the path of QF and LIBXML in the scripts named "compile", and maybe the port (5556 in my config files). Both QF_CLI.TXT match one another. Here is what I do : 1) start the command line client. You'll notice the "SESSION CREATED" trace added in onCreate() immediatly on startup. 2) manually input a FIX 41 buy order, limited, GTD. SenderCompID is "JGCLIENT" and TargetCompId is "JGSERVER" if you use the provided QF_CLI.TXTs files. No subID. 3) Now answer Y(es) to "send order". OUT: 8=FIX.4.19=13735=D34=149=JGCLIENT52=20050830-06:39:1356=JGSERVER 1=my_account11=myOrderID21=138=240=244=1.3554=155=FR00013000759=0207=02510=197 4) lets launch the ordermatch part that I called vmarket.exe and wait until they synchronise. SESSION CREATED. <20050830-06:39:53, FIX.4.1:JGSERVER->JGCLIENT, event> (Created session) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT,incoming> (8=FIX.4.19=6735=A34=249=JGCLIENT52=20050830-06:40:1356=JGSERVER98=0108=4010=236) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT, event> (Received logon request) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT,outgoing> (8=FIX.4.19=6735=A34=149=JGSERVER52=20050830-06:40:1356=JGCLIENT98=0108=4010=235) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT, event> (Responding to logon request) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT, event> (MsgSeqNum too high, expecting 1 but received 2) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT, outgoing> (8=FIX.4.19=6935=234=249=JGSERVER52=20050830-06:40:1356=JGCLIENT7=116=99999910=102) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT, event> (Sent ResendRequest FROM: 1 TO: 999999) Logon - FIX.4.1:JGSERVER->JGCLIENT <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT,incoming> (8=FIX.4.19=9335=434=143=Y49=JGCLIENT52=20050830-06:40:1356=JGSERVER122=20050830-06:40:1336=3123=Y10=252) <20050830-06:40:13, FIX.4.1:JGSERVER->JGCLIENT, event> (Received SequenceReset FROM: 1 TO: 3) And from then on, only heartbeats are exchanged. The order was never sent. If I input a new order, using another security to distinguish them, no problem, the new is sent (and rejected because whatever tag is missing, but that's another story). I must have done something wrong, but I don't understand what. Sincerely, JG |