2013-03-26 114 views
2

我修复引擎将拒绝的消息,我希望有人能帮助我弄清楚,为什么......我收到了下面的样本消息:QuickFix的麻烦 - 重复组

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 

但你可以看到它的被quickfix引擎拒绝。我现在用的是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 

没有人有任何想法,为什么发动机会拒绝此消息?我知道quickfix通常能够处理带重复组的消息,这是一个配置的事情吗?任何帮助将不胜感激!

回答

2

您的留言似乎是按顺序排列的。尝试把它放在你的配置文件中。

ValidateFieldsOutOfOrder=N 

默认情况下,Quickfix会将Y和存储标签和字段值的基础结构之前无法看到计数。 453> 448.

作为旁注始终检查这些字段。他们应该指出问题的根源。

58=Tag appears more than once 
371=448 
+0

谢谢你解决它。是的,该标签448是PartyId并且是重复值。我试过已经尝试过设置ValidateFieldsOutOfOrder = N以及我发现的所有其他属性,以查看它是否对它有任何影响,但不幸的是,消息仍然被FIX引擎拒绝。 – 2013-03-26 15:34:00

+0

字段如何排列在数据字典中。你有没有试过摆弄那也?你的UseDataDictionary是Y.所以这也许是一个看似合理的地方。 – DumbCoder 2013-03-26 15:40:19

+0

我正在使用的数据字典是QuickFix引擎附带的标准FIX50SP1.xml。我看了一下,但一切似乎是为了... – 2013-03-26 15:50:17

0

也许这是在黑暗中拍摄的,但使用5.0sp2词典时出现类似的问题。 我解决了使用从SVN库中编译的quickfix库的更新版本。如果我没记错的话this就是这个bug。

似乎quickfix库自很长一段时间以来一直未更新,对于较新版本的修复,我建议您使用repo的“trunk”。

+0

我下载了最新的QuickFix版本,但它仍然没有解决它。 – 2013-03-28 18:13:03

+0

我相信卢卡建议你从存储库中取出最新版本,不要下载最新版本(1.13.3) – Hei 2013-09-27 01:04:26

0

我有同样的问题,我通过调整我的数据字典就像在消息AE TradeCaptureReport以下