我正在使用快速修复。一旦我发送市场数据消息,进入的数据具有标记268为2,这意味着它具有两个消息。但是我的修复应用程序抛出错误,因为标记278出现不止一次。所以我知道如何解决这个问题? 下面是DictinaryData:
<message name="MarketDataIncrementalRefresh" msgtype="X" msgcat="app">
<field name="MDReqID" required="N" />
<group name="NoMDEntries" required="Y">
<field name="MDUpdateAction" required="Y" />
<field name="DeleteReason" required="N" />
<field name="MDEntryType" required="N" />
<field name="MDEntryID" required="N" />
<field name="MDEntryRefID" required="N" />
<component name="Instrument" required="N" />
<group name="NoUnderlyings" required="N">
<component name="UnderlyingInstrument" required="N" />
</group>
<group name="NoLegs" required="N">
<component name="InstrumentLeg" required="N" />
</group>
<field name="FinancialStatus" required="N" />
<field name="CorporateAction" required="N" />
<field name="MDEntryPx" required="N" />
<field name="Currency" required="N" />
<field name="MDEntrySize" required="N" />
<field name="MDEntryDate" required="N" />
<field name="MDEntryTime" required="N" />
<field name="TickDirection" required="N" />
<field name="MDMkt" required="N" />
<field name="TradingSessionID" required="N" />
<field name="TradingSessionSubID" required="N" />
<field name="QuoteCondition" required="N" />
<field name="TradeCondition" required="N" />
<field name="MDEntryOriginator" required="N" />
<field name="LocationID" required="N" />
<field name="DeskID" required="N" />
<field name="OpenCloseSettlFlag" required="N" />
<field name="TimeInForce" required="N" />
<field name="ExpireDate" required="N" />
<field name="ExpireTime" required="N" />
<field name="MinQty" required="N" />
<field name="ExecInst" required="N" />
<field name="SellerDays" required="N" />
<field name="OrderID" required="N" />
<field name="QuoteEntryID" required="N" />
<field name="MDEntryBuyer" required="N" />
<field name="MDEntrySeller" required="N" />
<field name="NumberOfOrders" required="N" />
<field name="MDEntryPositionNo" required="N" />
<field name="Scope" required="N" />
<field name="PriceDelta" required="N" />
<field name="NetChgPrevDay" required="N" />
<field name="Text" required="N" />
<field name="EncodedTextLen" required="N" />
<field name="EncodedText" required="N" />
</group>
<field name="ApplQueueDepth" required="N" />
<field name="ApplQueueResolution" required="N" />
这些是我得到的错误信息。
20160623-17:28:44.915 : 8=FIX.4.49=21935=W34=3349=CfhDemoPrices52=20160623-17:28:45.82356=PrimoDEMOFIX55=GBPUSD262=PrimoApp123268=2269=0270=1.48205271=1000000290=164=20160627278=30/26-124551269=1270=1.48227271=1000000290=1278=30/26-12455610=066
20160623-17:28:44.930 : 8=FIX.4.49=12635=334=3449=PrimoDEMOFIX52=20160623-17:28:44.93056=CfhDemoPrices45=3358=Tag appears more than once371=278372=W373=1310=132
请帮帮我。
答案 0 :(得分:0)
您需要了解如何解读错误。
58 = Tag不止一次出现371 = 278
这清楚地提到了错误是什么。 278在您的FIX消息中出现不止一次。您错误地构造了消息。