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