更改FIX消息中的字段顺序

时间:2014-06-09 21:06:20

标签: quickfix fix-protocol

我使用QuickFix / n启动器。我的代理拒绝我的登录消息,引用消息头中的字段(标签)的错误顺序。而不是34,49,52,56,顺序应该是49,56,34,52。

QuickFix / n似乎在将消息发送到会话时按标签号自动对消息的三个区域(标题,正文,尾部)中的各个字段进行排序。

有没有办法改变发送给接受者的消息中字段的顺序?有没有办法防止排序行为? (在消息中添加组或更改数据字典不起作用。)

或者如果使用QuickFix / n不可能,那么是否有一个FIX引擎允许更改消息中的字段顺序?

2 个答案:

答案 0 :(得分:3)

此错误通常是由于尝试将标题字段放入邮件正文中引起的。如果您手动将其添加到会话中或者从会话本身(如果您使用配置文件告诉会话使用哪个数据字典),则自己提供的DataDictionary对象具有名为isHeaderField(int tagNumber)和isTrailerField的函数( int tagNumber)帮助您确定字段是否应该在标题或预告片中。不同交易对手的不同数据字典文件可能(我只看过一次或两次)将标题字段放入消息的正文部分,正文字段放入标题,或(最常见)自定义标记放入标题。这意味着通常最好使用可用的函数来检查是否应将字段添加到正文中的标题,正文,尾部或重复组中。 由于这个问题是关于登录消息的,我猜你正在为该消息类型添加字段,所以我可能需要看到代码这样做才能进一步帮助。

答案 1 :(得分:2)

默认情况下,quickFix按升序重新排序组中的标签。如果您想保留按照建议here重建快速修复jar所需的顺序。