Java 何时使用FIX50sp2和FIXT11.xml?
我是quickfix的新手,对quickfix版本FIX50sp2和FIXT11有点困惑 什么时候用什么? 我还了解了在使用FIX50SP2版本时使用FIXT11.xml,为什么不使用FIX50SP2.xml 我正在尝试向我的FIXT11.xml添加一个组Java 何时使用FIX50sp2和FIXT11.xml?,java,quickfix,fix-protocol,quickfixj,Java,Quickfix,Fix Protocol,Quickfixj,我是quickfix的新手,对quickfix版本FIX50sp2和FIXT11有点困惑 什么时候用什么? 我还了解了在使用FIX50SP2版本时使用FIXT11.xml,为什么不使用FIX50SP2.xml 我正在尝试向我的FIXT11.xml添加一个组TrdInstrmtLegGrp,重建jar,之前我使用的是quickfixj-messages-fix50sp2-2.0.0jar,但现在在对FIXT11.xml进行更改并添加jarquickfixj-messages-FIXT11-2.1.
TrdInstrmtLegGrp
,重建jar,之前我使用的是quickfixj-messages-fix50sp2-2.0.0
jar,但现在在对FIXT11.xml
进行更改并添加jarquickfixj-messages-FIXT11-2.1.0-SNAPSHOT
后,它在tradecapturerereport
上出现错误:
20180418-04:46:29:java.lang.VerifyError:操作数堆栈上的类型错误
例外情况详情:
地点:
quickfix/fixt11/TradeCaptureReport$NoLegs.get(Lquickfix/field/LegSide;)Lquickfix/field/LegSide@2:调用虚拟
原因:
类型“quickfix/field/LegSide”(当前帧,堆栈[1])不可分配给“quickfix/StringField”
当前帧:
密件抄送:@2
标志:{}
本地人:{'quickfix/fixt11/TradeCaptureReport$NoLegs','quickfix/field/LegSide'}
堆栈:{'quickfix/fixt11/TradeCaptureReport$NoLegs','quickfix/field/LegSide'}
字节码:
0x0000000:2a2b b600 0457 2bb0
这是my FIXT11.xml对于该组的外观,其顺序与我的API相似:
<component name='InstrmtLegGrp'>
<group name='NoLegs' required='N'>
<field name='LegSymbol' required='N'/>
<field name='LegSecurityID' required='N'/>
<field name='LegSecurityIdSource1' required='N'/>
<field name='LegSecurityDesc' required='N'/>
<field name='LegRatioQty' required='N'/>
<field name='LegSide' required='N'/>
</group>
</component>
或者我需要在FIX50sp2.xml中进行所需的组更改吗?从fix5.0开始,Quickfixj引入了传输字典和应用程序字典的概念。 传输字典将包含所有与传输相关的管理消息,如心跳/登录/注销等,而Appdictionary将包含业务消息,如报价请求、交易捕获等
您可以查看QuickfixJ配置TransportDataDictionary和AppDataDictionary。(感谢Hemant提供信息。这确实澄清了我一半的问题。