2

我在使用 Quickfixn 时遇到了问题,我希望有更多经验的人能够对我面临的问题有所了解。出于某种原因,由于重复标签,消息被 QuickFix 引擎拒绝...我希望有重复标签,因此我在配置文件中设置了 UseDataDictionary 标志 = Y,但消息仍然被拒绝。有没有人遇到过类似的问题?

我收到的消息如下所示:

8=FIXT.1.1 9=421 35=AE 34=8 1128=8 49=XXX 56=YYY 52=20130501-15:45:53 552=1 54=2 37=130501-5 11=NOREF 826=0 78 =1 79=默认 80=1000000.00 5967=12167800.00 453=4 448=ITXT 452=3 447=D 448=测试 452=1 447=D 448=LMEB 452=16 447=D 448=FRTB 452=11 44​​7=D 571 = 6718487 150 = F 32 = 1000000.00 15 = USD 1056 = 12167800.00 31 = 12.1678 194 = 12.1678 195 = 0 64 = 0 64 = 20130503 63 = 0 60 = 20130501-00:00:00 75 = 201505010501057 = 2015501057 = 4660 = 4660 = 467 = 467 = FOR 65=SP 55=USD/MXN 10=203

8=FIXT.1.1 9=124 35=3 34=8 49=XXX 52=20130501-15:45:54.209 56=YYY 45=8 58=标签出现多次 371=448 372=AE 373=13 10= 210

我的配置文件如下所示:

[DEFAULT]
ConnectionType=initiator
HeartBtInt=30
ReconnectInterval=10
SocketReuseAddress=Y
FileStorePath=D:\Store
FileLogPath=D:\Log

[SESSION]
BeginString=FIXT.1.1
SenderCompID=XXX
TargetCompID=YYY
DefaultApplVerId = FIX.5.0SP1
UseDataDictionary=Y
AppDataDictionary=D:\Interface\FIX50SP1.xml
StartDay=sunday
StartTime=20:55:00
EndTime=06:05:00
EndDay=saturday
SocketConnectHost=1.1.1.1
SocketConnectPort=8443

任何帮助将不胜感激!谢谢你。

4

2 回答 2

2

经常发生这种情况是因为重复组中有一个字段未在 DataDictionary 中指定。解析器看到该字段并假定重复组已结束。它继续解析字段,就好像它们不是组的一部分一样。如果在此上下文中看到重复字段,解析器将报告错误。

于 2013-11-16T12:57:11.280 回答
0

如果您需要处理“无效”消息,您可以克隆和修改 FIX 数据字典 (D:\Interface\FIX50SP1.xml) 以满足您的需要。或者您可以禁用消息验证。

于 2014-02-26T13:21:20.087 回答