|
From: Shepheard, T. \(London\) <Tob...@ml...> - 2006-07-19 10:37:30
|
The message definitions for FIX 4.4 are held in the /etc/FIX44.xml file. The classes are then generated based on this. Your best course of action is to update the FIX44.xml file with the full set of values and then regenerate the quickfix src-generated java and classes. If you are feeling benevolent than submit the changes as a patch too, so others will benefit in future and you won't have to repeat this for future releases :) If you don't want to recompile QFJ, I believe you can also get away with just adding the values in the FIX44.xml file; this will prevent the validation errors but obviously won't add them to the underlying classes. There's a little more detail on this at http://www.quickfixj.org/quickfixj/usermanual/usage/validation.html which may help.=20 Regards, Toby -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Matyas Barakonyi Sent: 19 July 2006 10:55 To: qui...@li... Subject: [Quickfixj-users] SecurityTradingStatus valid values VS. incorrecttag value QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hi All, We found a strange problem, when we made a FIX.4.4. testing application. When we send a SecurityStatusRequest (35=3De), the server sends the=20 SecurityStatus (35=3Df) message with SecurityTradingStatus (Tag #326) = =3D 17 ("Ready to trade!")! But the quickfix throws an incorrect tag value exception (<20060719-09:42:51, FIX.4.4:A81->XXXXX, event> (Message 371 Rejected:=20 Value is incorrect (out of range) for this tag:326)=20 FixTester.toAdmin:=20 8=3DFIX.4.4=019=3D131=0135=3D3=0134=3D103=0149=3DA81=0152=3D20060719-09:4= 2:51.591=0156=3DBAXTER=0145 =3D371=0158=3DValue=20 is incorrect (out of range) for this = tag=01371=3D326=01372=3Df=01373=3D5=0110=3D253=01) We checked the constants on the quickfix javadoc file: *quickfix.field.SecurityTradingStatus=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html>*=20 |public static final int| |FIELD=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#FIELD>|=20 |326| |public static final int| |MARKET_IMBALANCE_BUY=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#MARKET_IMBALANCE_BUY>|=20 |7| |public static final int| |MARKET_IMBALANCE_SELL=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#MARKET_IMBALANCE_SELL>|=20 |8| |public static final int| |MARKET_ON_CLOSE_IMBALANCE_BUY=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#MARKET_ON_CLOSE_IMBALANCE_BUY>|=20 |9| |public static final int| |NO_OPEN_NO_RESUME=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#NO_OPEN_NO_RESUME>|=20 |4| |public static final int| |OPENING_DELAY=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#OPENING_DELAY>|=20 |1| |public static final int| |PRICE_INDICATION=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#PRICE_INDICATION>|=20 |5| |public static final int| |RESUME=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#RESUME>|=20 |3| |public static final int| |TRADING_HALT=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#TRADING_HALT>|=20 |2| |public static final int| |TRADING_RANGE_INDICATION=20 <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradi ngStatus.html#TRADING_RANGE_INDICATION>|=20 |6| But, in the FIX.4.4 documentation contains this: Valid values: 1 =3D Opening Delay 2 =3D Trading Halt 3 =3D Resume 4 =3D No Open/No Resume 5 =3D Price Indication 6 =3D Trading Range Indication 7 =3D Market Imbalance Buy 8 =3D Market Imbalance Sell 9 =3D Market On Close Imbalance Buy 10 =3D Market On Close Imbalance Sell 11 =3D (not assigned) 12 =3D No Market Imbalance 13 =3D No Market On Close Imbalance 14 =3D ITS Pre-Opening 15 =3D New Price Indication 16 =3D Trade Dissemination Time 17 =3D Ready to trade (start of session) 18 =3D Not Available for trading (end of session) 19 =3D Not Traded on this Market 20 =3D Unknown or Invalid 21 =3D Pre-Open 22 =3D Opening Rotation 23 =3D Fast Market Why hasn't the quickfix constants for every valid values of the=20 SecurityTradingStatus? How can I solve this problem? (Catch the exception after the=20 MessageCracker, or extend the constants wit the possible values...) Thank you, Matyi ------------------------------------------------------------------------ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDE V _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users -------------------------------------------------------- If you are not an intended recipient of this e-mail, please notify the = sender, delete it and do not read, act upon, print, disclose, copy, = retain or redistribute it. Click here for important additional terms = relating to this e-mail. http://www.ml.com/email_terms/ -------------------------------------------------------- |