简体   繁体   English

QuickFix麻烦 - 重复组

[英]QuickFix Trouble - Repeating Groups

My fix engine keeps rejecting messages and I was hoping someone could help me figure out why... I'm receiving the following sample message: 我的修复引擎一直拒绝消息,我希望有人可以帮我找出原因...我收到以下示例消息:

8=FIXT.1.1 9=518 35=AE 34=4 1128=8 49=XXXXXXX 56=YYYYYYY 52=20130322-17:58:37 552=1 54=1 37=Z00097H4ON 11=NOREF 826=0 78=1 79=NOT SPECIFIED 80=100000.000000 5967=129776.520000 453=5 448=BCART6 452=3 447=D 448=BARX 452=1 447=D 448=BARX 452=16 447=D 448=bcart6 452=11 447=D 448=ABCDEFGHI 452=12 447=D 571=6611540 150=F 17=Z00097H4ON 32=100000.000000 38=100000.000000 15=EUR 1056=129776.520000 31=1.2977652 194=1.298120 195=-3.5480 64=20130409 63=W2 60=20130322-17:26:50 75=20130322 1057=Y 460=4 167=FOR 65=OR 55=EUR/USD 10=121 

8=FIXT.1.1 9=124 35=3 34=4 49=XXXXXXX 52=20130322-17:58:37.917 56=YYYYYYY 45=4 58=Tag appears more than once 371=448 372=AE 373=13 10=216

But as you can see it's being rejected by the quickfix engine. 但是你可以看到它被quickfix引擎拒绝了。 I am using the 5.0sp1 data dictionary and have configured it in my config file: 我正在使用5.0sp1数据字典并在我的配置文件中配置它:

[DEFAULT]
ConnectionType=initiator
HeartBtInt=30
ReconnectInterval=10
SocketReuseAddress=Y
FileStorePath=D:\XXX\Interface\ReutersStore
FileLogPath=D:\XXX\Interface\ReutersLog


[SESSION]
BeginString = FIXT.1.1
SenderCompID = XXXXX
TargetCompID= YYYYY
DefaultApplVerId = FIX.5.0  
UseDataDictionary=Y
AppDataDictionary=FIX50SP1.xml
StartDay=sunday
StartTime=20:55:00
EndTime=06:05:00
EndDay=saturday
SocketConnectHost= A.B.C.D
SocketConnectPort= 123

Does anyone have any idea why the Engine would be rejecting this message? 有没有人知道为什么引擎会拒绝这个消息? I know that quickfix is normally able to handle messages with repeating groups, is it a config thing? 我知道quickfix通常能够处理重复组的消息,它是配置的东西吗? Any help would be greatly appreciated! 任何帮助将不胜感激!

Your message seems to be in order. 您的消息似乎是有序的。 Try putting this in your config file. 尝试将其放入配置文件中。

ValidateFieldsOutOfOrder=N

Quickfix by default puts that as Y and the underlying structure storing the tab and field values is unable to see the count before. 默认情况下,Quickfix将其设置为Y,存储选项卡和字段值的基础结构无法查看之前的计数。 453 > 448. 453> 448。

As a sidenote always check these fields. 作为旁注,请务必查看这些字段。 They should point you to the source of the problem. 他们应该指出问题的根源。

58=Tag appears more than once 
371=448

Maybe it's a shot in the dark, but I had a similar a problem when using a 5.0sp2 dictionary. 也许它是在黑暗中拍摄的,但在使用5.0sp2字典时我遇到了类似的问题。 I resolved using an updated version of the quickfix library compiled from the library SVN repository. 我解决了使用从库SVN存储库编译的quickfix库的更新版本。 If I remember correctly this was the bug. 如果我没记错的话, 就是错误。

It seems that the quickfix library has not been updated since a long time, and for newer version of fix I suggest you to use the "trunk" of the repo. 似乎quickfix库已经很久没有更新了,对于更新版本的修复我建议你使用repo的“trunk”。

我有同样的问题,我通过调整我的DataDictionary解决它,如下面的消息AE TradeCaptureReport

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

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