简体   繁体   English

Quickfixn-标签出现的次数超过一次

[英]Quickfixn - Tag Appears More Than Once Rejection

I'm having an issue with Quickfixn and I'm hoping someone with more experience working with it can shed some light on an issue I'm facing. 我在使用Quickfixn时遇到问题,希望有更多使用它的经验的人可以为我所遇到的问题提供一些启示。 For some reason, messages are getting rejected by the QuickFix engine because of repeating tags... I expect to have repeating tags and so I set the UseDataDictionary flag = Y in my config file but messages are still getting rejected. 由于某些原因,由于重复标签,消息被QuickFix引擎拒绝了...我希望重复标签,因此我在配置文件中设置UseDataDictionary标志= Y,但是消息仍然被拒绝。 Has anyone experienced a similar issue ? 有没有人遇到过类似的问题?

The message I'm receiving looks like : 我收到的消息如下:

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=default 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 = 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 = 20130503 63 = 0 60 = 20130501-00:00:00 75 = 20130501 1057 = Y 460 = 4167 = 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=Tag appears more than once 371=448 372=AE 373=13 10=210 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

my config file looks like this: 我的配置文件如下所示:

[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

Any help would be greatly appreciated! 任何帮助将不胜感激! Thank you. 谢谢。

Often this happens because there is a field in a repeating group that is not specified in the DataDictionary. 通常会发生这种情况,因为重复组中有一个字段未在DataDictionary中指定。 The parser sees the field and assumes the repeating group has ended. 解析器看到该字段并假定重复组已结束。 It continues parsing fields as if they are not part of a group. 它继续解析字段,就好像它们不属于组一样。 If it sees a duplicate field in this context, the parser will report an error. 如果在此上下文中看到重复的字段,则解析器将报告错误。

You may clone and modify FIX Data Dictionary (D:\\Interface\\FIX50SP1.xml) to fit your needs, if you need to process "invalid" messages. 如果需要处理“无效”消息,则可以克隆和修改FIX数据字典(D:\\ Interface \\ FIX50SP1.xml)以适合您的需要。 Or you may disable message validation. 或者您可以禁用消息验证。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM