1

我正在使用 FIXT1.1 和 FIX 应用程序版本 5.0SP2。

我向 QuotSetAckGrp 添加了一些自定义字段,这是 MassQuoteAcknowledgement 消息的一部分。但是,当 quickfix 读取重复组时,它不会将自定义字段作为重复组的一部分读取。相反,它将自定义字段视为常规父级字段并抛出“标签出现多次”会话级拒绝。

感谢任何有助于解决问题的输入。

4

2 回答 2

1

您需要修改接收方的 AppDataDictionary 以匹配您的发送方发送的消息。 此外,您需要UseDataDictionary=Y在配置中进行设置。

QF/j 需要查看 DD xml 文件以了解重复组中的字段,否则它无法知道每个组成员的结束位置。

当引擎遇到不在 DD 的重复组定义中的字段时,它假定当前组成员以前一个标记结束。

这是自定义 DD 的方法:http: //quickfixn.org/tutorial/custom-fields-groups-and-messages

(以上链接适用于 QF/n,但对于 QF/j 几乎相同。)

于 2015-06-29T18:26:55.497 回答
1

请参阅QuickFIX/J 用户常见问题解答,主题“我更改了我的数据字典。我应该重新生成/重建 QF/J 吗?”。

OUTGOING MSGS:当您构建传出消息时,DD xml 文件无关紧要。您几乎可以使用通用字段设置器(setString、setInt 等)将您想要的任何字段添加到消息中,QF 会让您这样做。唯一的麻烦是重复组。QF 将根据用于代码生成的 DD 编写重复的组元素排序。如果您更改了作为传出消息一部分的任何组,您肯定需要重新构建.

要重建 QuickFIX/J 以接受您的自定义数据字典,请参阅我在以下 StackOverflow 帖子中给出的答案。

HTH。

于 2015-06-29T22:47:10.823 回答