From: Matyas B. <ma...@ba...> - 2006-07-19 10:23:13
|
Hi All, We found a strange problem, when we made a FIX.4.4. testing application. When we send a SecurityStatusRequest (35=e), the server sends the SecurityStatus (35=f) message with SecurityTradingStatus (Tag #326) = 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: Value is incorrect (out of range) for this tag:326) FixTester.toAdmin: 8=FIX.4.49=13135=334=10349=A8152=20060719-09:42:51.59156=BAXTER45=37158=Value is incorrect (out of range) for this tag371=326372=f373=510=253) We checked the constants on the quickfix javadoc file: *quickfix.field.SecurityTradingStatus <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html>* |public static final int| |FIELD <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#FIELD>| |326| |public static final int| |MARKET_IMBALANCE_BUY <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#MARKET_IMBALANCE_BUY>| |7| |public static final int| |MARKET_IMBALANCE_SELL <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#MARKET_IMBALANCE_SELL>| |8| |public static final int| |MARKET_ON_CLOSE_IMBALANCE_BUY <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#MARKET_ON_CLOSE_IMBALANCE_BUY>| |9| |public static final int| |NO_OPEN_NO_RESUME <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#NO_OPEN_NO_RESUME>| |4| |public static final int| |OPENING_DELAY <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#OPENING_DELAY>| |1| |public static final int| |PRICE_INDICATION <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#PRICE_INDICATION>| |5| |public static final int| |RESUME <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#RESUME>| |3| |public static final int| |TRADING_HALT <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#TRADING_HALT>| |2| |public static final int| |TRADING_RANGE_INDICATION <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#TRADING_RANGE_INDICATION>| |6| But, in the FIX.4.4 documentation contains this: Valid values: 1 = Opening Delay 2 = Trading Halt 3 = Resume 4 = No Open/No Resume 5 = Price Indication 6 = Trading Range Indication 7 = Market Imbalance Buy 8 = Market Imbalance Sell 9 = Market On Close Imbalance Buy 10 = Market On Close Imbalance Sell 11 = (not assigned) 12 = No Market Imbalance 13 = No Market On Close Imbalance 14 = ITS Pre-Opening 15 = New Price Indication 16 = Trade Dissemination Time 17 = Ready to trade (start of session) 18 = Not Available for trading (end of session) 19 = Not Traded on this Market 20 = Unknown or Invalid 21 = Pre-Open 22 = Opening Rotation 23 = Fast Market Why hasn't the quickfix constants for every valid values of the SecurityTradingStatus? How can I solve this problem? (Catch the exception after the MessageCracker, or extend the constants wit the possible values...) Thank you, Matyi |