我正在使用 FIXT1.1 和 FIX 应用程序版本 5.0SP2。
我向 QuotSetAckGrp 添加了一些自定义字段,这是 MassQuoteAcknowledgement 消息的一部分。但是,当 quickfix 读取重复组时,它不会将自定义字段作为重复组的一部分读取。相反,它将自定义字段视为常规父级字段并抛出“标签出现多次”会话级拒绝。
感谢任何有助于解决问题的输入。
我正在使用 FIXT1.1 和 FIX 应用程序版本 5.0SP2。
我向 QuotSetAckGrp 添加了一些自定义字段,这是 MassQuoteAcknowledgement 消息的一部分。但是,当 quickfix 读取重复组时,它不会将自定义字段作为重复组的一部分读取。相反,它将自定义字段视为常规父级字段并抛出“标签出现多次”会话级拒绝。
感谢任何有助于解决问题的输入。
您需要修改接收方的 AppDataDictionary 以匹配您的发送方发送的消息。 此外,您需要UseDataDictionary=Y
在配置中进行设置。
QF/j 需要查看 DD xml 文件以了解重复组中的字段,否则它无法知道每个组成员的结束位置。
当引擎遇到不在 DD 的重复组定义中的字段时,它假定当前组成员以前一个标记结束。
这是自定义 DD 的方法:http: //quickfixn.org/tutorial/custom-fields-groups-and-messages
(以上链接适用于 QF/n,但对于 QF/j 几乎相同。)
请参阅QuickFIX/J 用户常见问题解答,主题“我更改了我的数据字典。我应该重新生成/重建 QF/J 吗?”。
OUTGOING MSGS:当您构建传出消息时,DD xml 文件无关紧要。您几乎可以使用通用字段设置器(setString、setInt 等)将您想要的任何字段添加到消息中,QF 会让您这样做。唯一的麻烦是重复组。QF 将根据用于代码生成的 DD 编写重复的组元素排序。如果您更改了作为传出消息一部分的任何组,您肯定需要重新构建.
要重建 QuickFIX/J 以接受您的自定义数据字典,请参阅我在以下 StackOverflow 帖子中给出的答案。
HTH。