RE: [Quickfix-developers] NoRelatedSym Class
Brought to you by:
orenmnero
From: Mike H. <mi...@an...> - 2003-04-30 14:06:12
|
Thanks Gene. i didn't realise this, sorry. i'll carry on with validation enabled. Cheers Mike On Wed, 2003-04-30 at 14:26, Gene Gorokhovsky wrote: > Yes, without validation (DataDict defined in settings) > group receiving is broken. This should be highlighted > in documentation because almost everyone has run into > it. >=20 > Gene > --- Mike Hepburn <mi...@an...> wrote: > > All, > >=20 > > Some further testing reveals that without validation > > (i.e no > > DataDictionary defined) the acceptor dump of the > > incoming message > > appears wrong: > >=20 > > sent: > > <message> > > <header> > > <field number=3D"8" value=3D"FIX.4.3"/> > > <field number=3D"35" value=3D"V"/> > > </header> > > <body> > > <field number=3D"146" value=3D"1"/> > > <field number=3D"262" value=3D"1"/> > > <field number=3D"263" value=3D"0"/> > > <field number=3D"264" value=3D"0"/> > > <field number=3D"267" value=3D"1"/> > > <group> > > <field number=3D"55" value=3D"tsco.l"/> > > </group> > > <group> > > <field number=3D"269" value=3D"0"/> > > </group> > > </body> > > <trailer> > > </trailer> > > </message> > >=20 > >=20 > > received(no validation): > > <message> > > <header> > > <field number=3D"8" value=3D"FIX.4.3"/> > > <field number=3D"9" value=3D"94"/> > > <field number=3D"35" value=3D"V"/> > > <field number=3D"34" value=3D"3"/> > > <field number=3D"49" value=3D"CLIENT1"/> > > <field number=3D"52" value=3D"20030430-11:21:01"/> > > <field number=3D"56" value=3D"AM"/> > > </header> > > <body> > > <field number=3D"55" value=3D"tsco.l"/> > > <field number=3D"146" value=3D"1"/> > > <field number=3D"262" value=3D"1"/> > > <field number=3D"263" value=3D"0"/> > > <field number=3D"264" value=3D"0"/> > > <field number=3D"267" value=3D"1"/> > > <field number=3D"269" value=3D"0"/> > > </body> > > <trailer> > > <field number=3D"10" value=3D"224"/> > > </trailer> > > </message> > >=20 > > It looks like message XML encoding still has bugs > > for repeating groups ? > > i ran ethereal over the connection to see if it was > > the encoding or > > decoding - looks like it is the encoding: > >=20 > > Transmission Control Protocol, Src Port: 46450 > > (46450), Dst Port: 5001 > > (5001), Seq: 1717567461, Ack: 1741597886, Len: 116 > > Source port: 46450 (46450) > > Destination port: 5001 (5001) > > Sequence number: 1717567461 > > Next sequence number: 1717567577 > > Acknowledgement number: 1741597886 > > Header length: 32 bytes > > Flags: 0x0018 (PSH, ACK) > > 0... .... =3D Congestion Window Reduced (CWR): > > Not set > > .0.. .... =3D ECN-Echo: Not set > > ..0. .... =3D Urgent: Not set > > ...1 .... =3D Acknowledgment: Set > > .... 1... =3D Push: Set > > .... .0.. =3D Reset: Not set > > .... ..0. =3D Syn: Not set > > .... ...0 =3D Fin: Not set > > Window size: 6432 > > Checksum: 0x9704 (correct) > > Options: (12 bytes) > > NOP > > NOP > > Time stamp: tsval 250859949, tsecr 245892923 > > Financial Information eXchange Protocol > > BeginString (8): FIX.4.3 > > BodyLength (9): 94 > > MsgType (35): V > > MsgSeqNum (34): 3 > > SenderCompID (49): CLIENT1 > > SendingTime (52): 20030430-11:21:01 > > TargetCompID (56): AM > > NoRelatedSym (146): 1 > > Symbol (55): tsco.l > > MDReqID (262): 1 > > SubscriptionRequestType (263): 0 > > MarketDepth (264): 0 > > NoMDEntryTypes (267): 1 > > MDEntryType (269): 0 > > CheckSum (10): 224 > >=20 > > Frame 2 (66 bytes on wire, 66 bytes captured) > >=20 > > The 'on the wire' message doesn't have the group's > > defined either. > >=20 > > Does anyone else see this using the java bindings, > > FIX43.xml and > > repeating groups ? > > =20 > > Cheers > > Mike=20 > >=20 > >=20 > >=20 > >=20 > > On Wed, 2003-04-30 at 10:52, Mike Hepburn wrote: > > > Hi Oren, > > >=20 > > > i have narrowed this down to being a java problem. > > I added a validation > > > test in C++ for the MarketDataRequest message and > > it passed OK. the XML > > > data structure (from toXML()) produced by C++ and > > java is identical. > > >=20 > > > Unfortunately there are no java bindings for the > > DataDictionary class - > > > so i couldn't repeat the test in java. i > > considered implementing > > > DataDictionary::validate via jni but thought > > something more basic must > > > be going on. > > >=20 > > > in java the data dictionary (FIX43.xml) appears to > > load OK and validate > > > other message types (e.g NewOrderSingle's) OK - my > > next step is to strip > > > the DataDictionary XML file down to only have the > > MarketDataRequest to > > > see if i get further. > > >=20 > > >=20 > > > Cheers > > > Mike > > >=20 > > >=20 > > > On Mon, 2003-04-28 at 20:13, Oren Miller wrote: > > > > Yeah. DataDictionary is a good place to start.=20 > > I would take a look at the DataDictionaryTestCase.=20 > > If there is a problem, it will probably be one of > > two things. 1) the XML file is not being loaded > > correctly2) there is a problem with the validation > > itself You can verify #2 by adding some asserts to > > the readFromFile test. If you do not detect a > > problem there, then you can add tests to > > checkIsInMessage (test for the code that determines > > a field belongs to a message), and checkValidFormat > > (test for full validation of a message). You may > > want to synch up with CVS so that you have the > > latest code and tests. If you want to debug or use > > trace statements instead. I would recommend creating > > a DD XML file that only contains the message you are > > concerned with. You can then look for problems > > reading from the file or validating. I prefer, > > however, to have a failing test that exposes the > > problem before I venture into the code. Let use know > > if you find anything or if you need any other! > > > > pointers. If you are able to provide a small > > project that can demonstrate the error, that would > > allow myself and others to be more active in helping > > you. Good luck. mike <mi...@an...> wrote:HI > > Oren, yes, both the acceptor and receiver use the > > same quickfix library & share the same > > DataDictionary (my app is written uses the java > > bindings to QF and both statically load the quickfix > > library via jni). is there a good place for me to > > put some debug in the source to get to the bottom of > > this ? is DataDistionary.cpp a good place to start ? > > CheersMike-----Original Message----- > > > > From: Oren Miller [mailto:ore...@ya...]=20 > > > > Sent: Monday, April 28, 2003 6:31 PM > > > > To: Mike Hepburn; quickfix > > > > Subject: RE: [Quickfix-developers] NoRelatedSym > > Class > > > >=20 > > > > Did you link the patched version to the > > receiving application as well? > > > >=20 > > > > Mike Hepburn <mi...@an...> wrote: Hi All, > > > >=20 > > > > i also seem to have problems using the group > > NoRelatedSym in a > > > > MarketDataRequest message. i have followed the > > previous threads on this > > > > but to no avail. > > > >=20 > >=20 > =3D=3D=3D message truncated =3D=3D=3D >=20 > > ATTACHMENT part 2 application/pgp-signature > name=3Dsignature.asc >=20 >=20 >=20 > __________________________________ > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. > http://search.yahoo.com --=20 ___________________________________________________________________ Mike Hepburn Phone: +44 (0)207 749 7900 Anvil Software Limited Fax: +44 (0)207 749 7916 51-53 Rivington Street E-mail: mi...@an... London EC2A 3SE ef...@ho... |