RE: [Quickfix-developers] NoRelatedSym Class
Brought to you by:
orenmnero
From: Mike H. <mi...@an...> - 2003-04-30 09:52:31
|
Hi Oren, 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. 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. 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. Cheers Mike On Mon, 2003-04-28 at 20:13, Oren Miller wrote: > Yeah. DataDictionary is a good place to start. I would take a look at t= he DataDictionaryTestCase. 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 p= roblem 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 c= an 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 co= de 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 co= ncerned with. You can then look for problems reading from the file or vali= dating. 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 yo= u need any other! > pointers. If you are able to provide a small project that can demonstra= te the error, that would allow myself and others to be more active in helpi= ng you. Good luck. mike <mi...@an...> wrote:HI Oren, yes, both the acce= ptor and receiver use the same quickfix library & share the same DataDictio= nary (my app is written uses the java bindings to QF and both statically lo= ad 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 > Basically i always get a 'Tag not defined for this message type' for > Symbol (55). >=20 > my setup (Fix4.3, java1.4, QF 1.4.1, linux build gcc3.2) >=20 > i've applied the following DataDictionary patches from Oren's previous > mail (and i have the latest DataDictionary from cvs): >=20 > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/quickfix/quickfix/src/C%2b= %2b/DataDictionary.h.diff?r1=3D1.10&r2=3D1.11 > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/quickfix/quickfix/src/C%2b= %2b/DataDictionary.cpp.diff?r1=3D1.14&r2=3D1.15 >=20 >=20 > here's my message creation code: >=20 >=20 > org.quickfix.fix43.MarketDataRequest.NoMDEntryTypes marketDataEntryGroup > =3D new org.quickfix.fix43.MarketDataRequest.NoMDEntryType! s(); >=20 > MDEntryType mdType =3D new MDEntryType(); > mdType.setValue(MDEntryType.BID); >=20 > marketDataEntryGroup.set(mdType); >=20 > org.quickfix.fix43.MarketDataRequest.NoRelatedSym symbolGroup =3D > new org.quickfix.fix43.MarketDataRequest.NoRelatedSym(); >=20 > symbolGroup.set(new Symbol(md.getSymbol())); >=20 > SubscriptionRequestType subType =3D new SubscriptionRequestType(); > subType.setValue(SubscriptionRequestType.SNAPSHOT); >=20 > org.quickfix.fix43.MarketDataRequest message =3D > new org.quickfix.fix43.MarketDataRequest(); >=20 > message.set(new MDReqID( md.getID())); > message.set(subType); > message.set(new MarketDepth(((Integer)md.getMarketDepth()).intValue())); > message.addGroup(marketDataEntryGroup); > message.addGroup(symbolGroup); >=20 > send(message, md.getSessionID()); >=20 >=20 > And this is what it looks like prior to being sent: >=20 >=20 >=20 >=20 >=20 >=20 > !=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 > Any ideas what could be wrong, Am i doing something stupid ?? >=20 > Cheers, > Mike >=20 >=20 > > ATTACHMENT part 2 application/pgp-signature name=3Dsignature.asc=20 >=20 > --------------------------------- > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. >=20 > --------------------------------- > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. --=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... |