如何解决拒绝无效消息的问题:quickfix.IncorrectDataFormat

时间:2018-08-17 00:00:05

标签: quickfix quickfixj

我有一个QuickFIX启动器,它从市场数据中获得了标签270中的1.23E-6。然后我看到QuickFIX / J抛出以下错误:

  

拒绝无效消息:quickfix.IncorrectDataFormat:值字段= 270的数据格式不正确

有什么主意如何避免拒绝并解析正确的值?

我也从标签44(价格)中的35 = 8消息中收到了科学的数字格式,但是我可以先将getString然后将它们转换为BigDecimal,没有问题。

1 个答案:

答案 0 :(得分:1)

这里的真正问题是,您的交易对手不应该在该字段中发送科学计数值。该字段的类型为“ Price”,每个规范应为整数或十进制数,这就是QF引擎正在验证的内容。

所以,我不知道您的对手方是谁,但也许您想与他们联系,以查看这是否可能是他们的合法漏洞。

(我无法解释为什么您的35 = 8 / tag-44消息被接受。您的情况一定有一个我不知道的细节。)

如果您仍然需要解决此问题:使引擎接受此消息的一种简单的作弊方法是,只需将数据字典xml文件中的字段类型更改为“字符串”。当然,这将要求您始终将字符串显式转换为BigDecimal,但这听起来像是您没有问题。