首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickFixn传出连接

QuickFixn传出连接
EN

Stack Overflow用户
提问于 2013-05-30 06:19:16
回答 2查看 1.1K关注 0票数 0

我希望有人能解释一下Quickfixn引擎是如何处理传出修复消息的……我已经建立了一个传出连接,并且我得到了心跳。然而,当我生成传出消息时,它被拒绝了,因为它表明标签58对于此消息类型无效……(35=AE) ...通常,如果这是一个入站连接,我只需修改数据字典,一切都会好起来的……但是考虑到这是一个传出连接,再加上我的UseDataDictionary属性设置为'N‘...quickfix引擎使用什么来验证传出消息?是否可以更改某些内容以允许引擎传递消息?或者,唯一的解决办法是不在我的外发消息中包含此标记?

在这件事上的任何帮助都将非常感谢。

编辑-

邮件被quickfix引擎拒绝。我正在构造的消息和相应的拒绝消息是:

8=FIX.4.4 9=400 35=AE 34=38 49=XXX 52=20130528-23:11:04.040 56=YYY 31=1.3022 32=1000000.00 39=0 55=欧元/美元58=ABCD 60=20130528-22:34:52.000 64=20130531 75=20130529 570=N 571=ABCD 5495=0 5971=1302200.00 552=1 54=2 37=ABCD 448=LP1-DBAB

8=FIX.4.4 9=130 35=3 34=38 49=YYY 52=20130528-23:11:04.283没有为此消息类型定义56=XXX 45=38 58=Tag 371=58 372=AE 373=2 10=033

我见过传入的消息被quickfix引擎拒绝,因为数据字典没有正确的消息规范...我认为这可能是相同的事情,但传出连接似乎不使用数据字典。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-30 21:07:56

您的修复库不会拒绝消息。消息被发送到对方,然后对方在收到并验证您的消息时以无效为由拒绝您的消息。这样做的原因是,如果存在标签58,则标签58必须是NoSides重复组(标签552)的一部分,在您的情况下不是,这使得消息格式错误。你要做的就是发送一条“逻辑上”正确的消息。我建议您参考适当的FIX协议规范,以获得有关如何构造正确消息的参考。

票数 1
EN

Stack Overflow用户

发布于 2013-05-31 01:50:19

Vlad的回答是正确的,但我想提醒您问题中的另一个危险。

我已将UseDataDictionary属性设置为“N”

我有90%的把握你不想这么做。无论您认为使用=N获得了什么,都可能是基于对某些东西的误解。

如果没有DD,您将无法读取具有重复组的消息,因为引擎无法知道哪些字段位于哪个组中。

实际上,每个地点都使用重复的组。因此,您需要设置UseDataDictionary=Y,并且需要使用DataDictionary=<file>指定一个xml文件。

我们允许在QF/n中使用=N的唯一原因是为了与QF/C++和QF/j保持一致。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16824857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档