我遇到了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 = TEST 452 = 1 447 = D 448 = LMEB 452 = 16 447 = D 448 = FRTB 452 = 11 447 = D 571 = 6718487 150 = F 32 = 1000000.00 15 = USD 1056 = 12167800.00 31 = 12.1678 194 = 12.1678 195 = 0 64 = 20130503 63 = 0 60 = 20130501-00:00:00 75 = 20130501 1057 = Y 460 = 4 167 = 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
任何帮助将不胜感激!谢谢。
答案 0 :(得分:1)
通常会发生这种情况,因为重复组中有一个字段未在DataDictionary中指定。解析器查看该字段并假设重复组已结束。它继续解析字段,就好像它们不是组的一部分一样。如果它在此上下文中看到重复字段,则解析器将报告错误。
答案 1 :(得分:0)
如果您需要处理“无效”消息,您可以克隆和修改FIX数据字典(D:\ Interface \ FIX50SP1.xml)以满足您的需求。或者您可以禁用消息验证。