我们的交易对手(承兑人)界面基于 FIX 4.3 版。然而,他们对消息类型进行了一些修改,并从 5.0 版本中引入了标志。
我通过向我们的交易对手(接受方)MarketDataSnapshotFullRefresh (MsgType=W)
发送一个MarketDataRequest (MsgType=V
) 来请求消息。
我不得不修改字典,使其符合信息。正如您从下面的 XML 中看到的那样,我必须添加作为NoLegs
回复一部分的组,但不是原始规范 4.3 ( https://www.onixs.biz/fix-dictionary/4.3/msgType_W_87.html ) .
<message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
<field name="MDReqID" required="N" />
<component name="Instrument" required="Y" />
<field name="FinancialStatus" required="N" />
[...]
<field name='MDEntryForwardPoints' required="N" />
<group name="NoMDEntries" required="Y">
<field name="MDEntryType" required="Y" />
[...]
<field name="PriceType" required="N" />
<field name='MDEntrySpotRate' required="N" />
<field name='MDEntryForwardPoints' required="N" />
</group>
<group name="NoLegs" required="N">
<component name="InstrumentLeg" required="N" />
</group>
</message>
在更改了字典以适应自定义消息后,我的客户不再向接受者回复拒绝消息......到目前为止一切都很好。
但是我无法访问此字段,因为此属性不是 class 的一部分QuickFix.FIX43.MarketDataSnapshotFullRefresh
。
长话短说,我如何从自定义消息中访问自定义字段?