当标签存在时,消息被 "Required tag missing" 拒绝

Message rejected with "Required tag missing", when tag is present

我尝试发送市场数据请求,日志文件给了我这个..

20151027-03:08:46.038 : 8=FIX.4.2 | 9=122 | 35=V | 34=2 | 49=CLTEST | 52=20151027-03:08:45.991 | 56=SERVTEST | 55=CPOTR DEC15 | 146=1 | 207=EXCH | 262=MDRID | 263=1 | 264=1 | 265=0 | 267=9 | 269=C | 10=250
20151027-03:08:46.116 : 8=FIX.4.2 | 9=100 | 35=3 | 34=2 | 49=SERVTEST | 52=20151027-03:08:39.456 | 56=CLTEST | 45=2 | 58=Required tag missing | 371=55 | 372=V | 373=1 | 10=097

拒绝消息说缺少必需的标签,并说缺少标签“55”。即使我已将标签包含在我的 MDR 消息中。任何的想法?

您的字段顺序不正确。 55 (Symbol) 应该在 146 (NoRelatedSym) 重复组内。

我看到您的正文字段是按数字排序的,这表明您正在使用一种 QuickFIX 风格,并且您弄乱了 DataDictionary 配置。

确保你的配置有这两行:

UseDataDictionary=Y
DataDictionary=path/to/your/FIX42.xml

如果我的假设是正确的并且你没有遗漏任何东西,这应该让你直截了当。