quickfix.FieldNotFound: 552, index=2

QuickFIX/J JIRA | Cédric Jeanroy | 6 years ago
  1. 0

    Dear all, We are implementing connectivity with the SWX market using the quickfixj library but we've got a problem with TradeCaptureReport messages. We receive the following TradeCaptureReport message from SWX test platform : 8=FIX.4.4^A9=437^A35=AE^A34=14^A49=SwxRcg1.M01^A50=SwxObe.M01.1.1^A52=20110407-09:07:04.219^A56=SQBCH-02.M01^A369=1280^A15=CHF^A17=EFR1_A568775_0O621059_2^A22=4^A31=51.1^A32=124^A37=NONE^A48=CH0010675863^A54=2^A55=[N/A]^A60=20110407-09:07:03.899^A75=20110407^A150=0^A207=XSWX^A423=2^A447=D^A448=7698^A452=17^A453=1^A487=0^A570=N^A571=NONE^A572=157598^A856=1^A6520=D^A552=1^A54=1^A37=NONE^A453=1^A448=7698^A447=D^A452=7^A802=1^A523=12589^A803=25^A576=1^A577=0^A768=1^A769=20110407-07:06:00.000^A770=1^A10=176^A The message seems to be well formed but we first have the following warn message : Warn: incomming message with incorrect field: 552=2: And when we try to call the method tradeCaptureReport.getGroup(2, noSidesGroup); we get : quickfix.FieldNotFound: 552, index=2 at quickfix.FieldMap.getGroup(FieldMap.java:684) We have the following FIX44.xml configuration: <message name="TradeCaptureReport" msgtype="AE" msgcat="app"> <field name="TradeReportID" required="Y" /> <field name="TradeReportTransType" required="N" /> <field name="TradeReportType" required="N" /> <field name="TradeRequestID" required="N" /> <field name="TrdType" required="N" /> <field name="TrdSubType" required="N" /> <field name="SecondaryTrdType" required="N" /> <field name="TransferReason" required="N" /> <field name="ExecType" required="N" /> <field name="TotNumTradeReports" required="N" /> <field name="LastRptRequested" required="N" /> <field name="UnsolicitedIndicator" required="N" /> <field name="SubscriptionRequestType" required="N" /> <field name="TradeReportRefID" required="N" /> <field name="SecondaryTradeReportRefID" required="N" /> <field name="SecondaryTradeReportID" required="N" /> <field name="TradeLinkID" required="N" /> <field name="TrdMatchID" required="N" /> <field name="OrigTrdMatchID" required="N" /> <field name="ExecID" required="N" /> <field name="OrdStatus" required="N" /> <field name="SecondaryExecID" required="N" /> <field name="ExecRestatementReason" required="N" /> <field name="PreviouslyReported" required="Y" /> <field name="PriceType" required="N" /> <component name="Instrument" required="Y" /> <component name="FinancingDetails" required="N" /> <component name="OrderQtyData" required="N" /> <field name="QtyType" required="N" /> <component name="YieldData" required="N" /> <group name="NoUnderlyings" required="N"> <component name="UnderlyingInstrument" required="N" /> </group> <field name="UnderlyingTradingSessionID" required="N" /> <field name="UnderlyingTradingSessionSubID" required="N" /> <field name="LastQty" required="Y" /> <field name="LastPx" required="Y" /> <field name="LastParPx" required="N" /> <field name="LastSpotRate" required="N" /> <field name="LastForwardPoints" required="N" /> <field name="LastMkt" required="N" /> <field name="TradeDate" required="Y" /> <field name="ClearingBusinessDate" required="N" /> <field name="AvgPx" required="N" /> <component name="SpreadOrBenchmarkCurveData" required="N" /> <field name="AvgPxIndicator" required="N" /> <component name="PositionAmountData" required="N" /> <field name="MultiLegReportingType" required="N" /> <field name="TradeLegRefID" required="N" /> <group name="NoLegs" required="N"> <component name="InstrumentLeg" required="N" /> <field name="LegQty" required="N" /> <field name="LegSwapType" required="N" /> <component name="LegStipulations" required="N" /> <field name="LegPositionEffect" required="N" /> <field name="LegCoveredOrUncovered" required="N" /> <component name="NestedParties" required="N" /> <field name="LegRefID" required="N" /> <field name="LegPrice" required="N" /> <field name="LegSettlType" required="N" /> <field name="LegSettlDate" required="N" /> <field name="LegLastPx" required="N" /> </group> <field name="TransactTime" required="Y" /> <component name="TrdRegTimestamps" required="N" /> <field name="SettlType" required="N" /> <field name="SettlDate" required="N" /> <field name="MatchStatus" required="N" /> <field name="MatchType" required="N" /> <group name="NoSides" required="Y"> <field name="Side" required="Y" /> <field name="OrderID" required="Y"/> <field name="SecondaryOrderID" required="N" /> <field name="ClOrdID" required="N" /> <field name="SecondaryClOrdID" required="N" /> <field name="ListID" required="N" /> <field name="TradeTypeCodeList" required="N" /> <component name="Parties" required="N" /> <field name="Account" required="N" /> <field name="AcctIDSource" required="N" /> <field name="AccountType" required="N" /> <field name="ProcessCode" required="N" /> <field name="OddLot" required="N" /> <group name="NoClearingInstructions" required="N"> <field name="ClearingInstruction" required="N" /> </group> <field name="ClearingFeeIndicator" required="N" /> <field name="TradeInputSource" required="N" /> <field name="TradeInputDevice" required="N" /> <field name="OrderInputDevice" required="N" /> <field name="Currency" required="N" /> <field name="ComplianceID" required="N" /> <field name="SolicitedFlag" required="N" /> <field name="OrderCapacity" required="N" /> <field name="OrderRestrictions" required="N" /> <field name="CustOrderCapacity" required="N" /> <field name="OrdType" required="N" /> <field name="ExecInst" required="N" /> <field name="TransBkdTime" required="N" /> <field name="TradingSessionID" required="N" /> <field name="TradingSessionSubID" required="N" /> <field name="TimeBracket" required="N" /> <component name="CommissionData" required="N" /> <field name="GrossTradeAmt" required="N" /> <field name="NumDaysInterest" required="N" /> <field name="ExDate" required="N" /> <field name="AccruedInterestRate" required="N" /> <field name="AccruedInterestAmt" required="N" /> <field name="InterestAtMaturity" required="N" /> <field name="EndAccruedInterestAmt" required="N" /> <field name="StartCash" required="N" /> <field name="EndCash" required="N" /> <field name="Concession" required="N" /> <field name="TotalTakedown" required="N" /> <field name="NetMoney" required="N" /> <field name="SettlCurrAmt" required="N" /> <field name="SettlCurrency" required="N" /> <field name="SettlCurrFxRate" required="N" /> <field name="SettlCurrFxRateCalc" required="N" /> <field name="PositionEffect" required="N" /> <field name="Text" required="N" /> <field name="EncodedTextLen" required="N" /> <field name="EncodedText" required="N" /> <field name="SideMultiLegReportingType" required="N" /> <group name="NoContAmts" required="N"> <field name="ContAmtType" required="N" /> <field name="ContAmtValue" required="N" /> <field name="ContAmtCurr" required="N" /> </group> <component name="Stipulations" required="N" /> <group name="NoMiscFees" required="N"> <field name="MiscFeeAmt" required="N" /> <field name="MiscFeeCurr" required="N" /> <field name="MiscFeeType" required="N" /> <field name="MiscFeeBasis" required="N" /> </group> <field name="ExchangeRule" required="N" /> <field name="TradeAllocIndicator" required="N" /> <field name="PreallocMethod" required="N" /> <field name="AllocID" required="N" /> <group name="NoAllocs" required="N"> <field name="AllocAccount" required="N" /> <field name="AllocAcctIDSource" required="N" /> <field name="AllocSettlCurrency" required="N" /> <field name="IndividualAllocID" required="N" /> <component name="NestedParties2" required="N" /> <field name="AllocQty" required="N" /> </group> </group> <field name="CopyMsgIndicator" required="N" /> <field name="PublishTrdIndicator" required="N" /> <field name="ShortSaleReason" required="N" /> <field name="Currency" required="N" /> </message> Is this a bug of the quickfixj library or is there something misconfigured on our side ? Thanks for your help

    QuickFIX/J JIRA | 6 years ago | Cédric Jeanroy
    quickfix.FieldNotFound: 552, index=2
  2. 0

    Dear all, We are implementing connectivity with the SWX market using the quickfixj library but we've got a problem with TradeCaptureReport messages. We receive the following TradeCaptureReport message from SWX test platform : 8=FIX.4.4^A9=437^A35=AE^A34=14^A49=SwxRcg1.M01^A50=SwxObe.M01.1.1^A52=20110407-09:07:04.219^A56=SQBCH-02.M01^A369=1280^A15=CHF^A17=EFR1_A568775_0O621059_2^A22=4^A31=51.1^A32=124^A37=NONE^A48=CH0010675863^A54=2^A55=[N/A]^A60=20110407-09:07:03.899^A75=20110407^A150=0^A207=XSWX^A423=2^A447=D^A448=7698^A452=17^A453=1^A487=0^A570=N^A571=NONE^A572=157598^A856=1^A6520=D^A552=1^A54=1^A37=NONE^A453=1^A448=7698^A447=D^A452=7^A802=1^A523=12589^A803=25^A576=1^A577=0^A768=1^A769=20110407-07:06:00.000^A770=1^A10=176^A The message seems to be well formed but we first have the following warn message : Warn: incomming message with incorrect field: 552=2: And when we try to call the method tradeCaptureReport.getGroup(2, noSidesGroup); we get : quickfix.FieldNotFound: 552, index=2 at quickfix.FieldMap.getGroup(FieldMap.java:684) We have the following FIX44.xml configuration: <message name="TradeCaptureReport" msgtype="AE" msgcat="app"> <field name="TradeReportID" required="Y" /> <field name="TradeReportTransType" required="N" /> <field name="TradeReportType" required="N" /> <field name="TradeRequestID" required="N" /> <field name="TrdType" required="N" /> <field name="TrdSubType" required="N" /> <field name="SecondaryTrdType" required="N" /> <field name="TransferReason" required="N" /> <field name="ExecType" required="N" /> <field name="TotNumTradeReports" required="N" /> <field name="LastRptRequested" required="N" /> <field name="UnsolicitedIndicator" required="N" /> <field name="SubscriptionRequestType" required="N" /> <field name="TradeReportRefID" required="N" /> <field name="SecondaryTradeReportRefID" required="N" /> <field name="SecondaryTradeReportID" required="N" /> <field name="TradeLinkID" required="N" /> <field name="TrdMatchID" required="N" /> <field name="OrigTrdMatchID" required="N" /> <field name="ExecID" required="N" /> <field name="OrdStatus" required="N" /> <field name="SecondaryExecID" required="N" /> <field name="ExecRestatementReason" required="N" /> <field name="PreviouslyReported" required="Y" /> <field name="PriceType" required="N" /> <component name="Instrument" required="Y" /> <component name="FinancingDetails" required="N" /> <component name="OrderQtyData" required="N" /> <field name="QtyType" required="N" /> <component name="YieldData" required="N" /> <group name="NoUnderlyings" required="N"> <component name="UnderlyingInstrument" required="N" /> </group> <field name="UnderlyingTradingSessionID" required="N" /> <field name="UnderlyingTradingSessionSubID" required="N" /> <field name="LastQty" required="Y" /> <field name="LastPx" required="Y" /> <field name="LastParPx" required="N" /> <field name="LastSpotRate" required="N" /> <field name="LastForwardPoints" required="N" /> <field name="LastMkt" required="N" /> <field name="TradeDate" required="Y" /> <field name="ClearingBusinessDate" required="N" /> <field name="AvgPx" required="N" /> <component name="SpreadOrBenchmarkCurveData" required="N" /> <field name="AvgPxIndicator" required="N" /> <component name="PositionAmountData" required="N" /> <field name="MultiLegReportingType" required="N" /> <field name="TradeLegRefID" required="N" /> <group name="NoLegs" required="N"> <component name="InstrumentLeg" required="N" /> <field name="LegQty" required="N" /> <field name="LegSwapType" required="N" /> <component name="LegStipulations" required="N" /> <field name="LegPositionEffect" required="N" /> <field name="LegCoveredOrUncovered" required="N" /> <component name="NestedParties" required="N" /> <field name="LegRefID" required="N" /> <field name="LegPrice" required="N" /> <field name="LegSettlType" required="N" /> <field name="LegSettlDate" required="N" /> <field name="LegLastPx" required="N" /> </group> <field name="TransactTime" required="Y" /> <component name="TrdRegTimestamps" required="N" /> <field name="SettlType" required="N" /> <field name="SettlDate" required="N" /> <field name="MatchStatus" required="N" /> <field name="MatchType" required="N" /> <group name="NoSides" required="Y"> <field name="Side" required="Y" /> <field name="OrderID" required="Y"/> <field name="SecondaryOrderID" required="N" /> <field name="ClOrdID" required="N" /> <field name="SecondaryClOrdID" required="N" /> <field name="ListID" required="N" /> <field name="TradeTypeCodeList" required="N" /> <component name="Parties" required="N" /> <field name="Account" required="N" /> <field name="AcctIDSource" required="N" /> <field name="AccountType" required="N" /> <field name="ProcessCode" required="N" /> <field name="OddLot" required="N" /> <group name="NoClearingInstructions" required="N"> <field name="ClearingInstruction" required="N" /> </group> <field name="ClearingFeeIndicator" required="N" /> <field name="TradeInputSource" required="N" /> <field name="TradeInputDevice" required="N" /> <field name="OrderInputDevice" required="N" /> <field name="Currency" required="N" /> <field name="ComplianceID" required="N" /> <field name="SolicitedFlag" required="N" /> <field name="OrderCapacity" required="N" /> <field name="OrderRestrictions" required="N" /> <field name="CustOrderCapacity" required="N" /> <field name="OrdType" required="N" /> <field name="ExecInst" required="N" /> <field name="TransBkdTime" required="N" /> <field name="TradingSessionID" required="N" /> <field name="TradingSessionSubID" required="N" /> <field name="TimeBracket" required="N" /> <component name="CommissionData" required="N" /> <field name="GrossTradeAmt" required="N" /> <field name="NumDaysInterest" required="N" /> <field name="ExDate" required="N" /> <field name="AccruedInterestRate" required="N" /> <field name="AccruedInterestAmt" required="N" /> <field name="InterestAtMaturity" required="N" /> <field name="EndAccruedInterestAmt" required="N" /> <field name="StartCash" required="N" /> <field name="EndCash" required="N" /> <field name="Concession" required="N" /> <field name="TotalTakedown" required="N" /> <field name="NetMoney" required="N" /> <field name="SettlCurrAmt" required="N" /> <field name="SettlCurrency" required="N" /> <field name="SettlCurrFxRate" required="N" /> <field name="SettlCurrFxRateCalc" required="N" /> <field name="PositionEffect" required="N" /> <field name="Text" required="N" /> <field name="EncodedTextLen" required="N" /> <field name="EncodedText" required="N" /> <field name="SideMultiLegReportingType" required="N" /> <group name="NoContAmts" required="N"> <field name="ContAmtType" required="N" /> <field name="ContAmtValue" required="N" /> <field name="ContAmtCurr" required="N" /> </group> <component name="Stipulations" required="N" /> <group name="NoMiscFees" required="N"> <field name="MiscFeeAmt" required="N" /> <field name="MiscFeeCurr" required="N" /> <field name="MiscFeeType" required="N" /> <field name="MiscFeeBasis" required="N" /> </group> <field name="ExchangeRule" required="N" /> <field name="TradeAllocIndicator" required="N" /> <field name="PreallocMethod" required="N" /> <field name="AllocID" required="N" /> <group name="NoAllocs" required="N"> <field name="AllocAccount" required="N" /> <field name="AllocAcctIDSource" required="N" /> <field name="AllocSettlCurrency" required="N" /> <field name="IndividualAllocID" required="N" /> <component name="NestedParties2" required="N" /> <field name="AllocQty" required="N" /> </group> </group> <field name="CopyMsgIndicator" required="N" /> <field name="PublishTrdIndicator" required="N" /> <field name="ShortSaleReason" required="N" /> <field name="Currency" required="N" /> </message> Is this a bug of the quickfixj library or is there something misconfigured on our side ? Thanks for your help

    QuickFIX/J JIRA | 6 years ago | Cédric Jeanroy
    quickfix.FieldNotFound: 552, index=2
  3. Speed up your debug routine!

    Automated exception search integrated into your IDE

    1 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. quickfix.FieldNotFound

      552, index=2

      at quickfix.FieldMap.getGroup()
    2. Apache ServiceMix :: Bundles :: ${pkgArtifactId}
      FieldMap.getGroup
      1. quickfix.FieldMap.getGroup(FieldMap.java:684)
      1 frame