我正在开发quickfixj
尝试在QuoteRequest消息的标头中设置SenderSubID字段。
我使用以下代码:
QuoteRequest msg = new QuoteRequest();
msg.getHeader().set(new SenderSubID(myid));
这是最好的方式还是有更好的方法吗? 感谢
答案 0 :(得分:0)
我不确定getHeader()
是否允许您使用set()
。如果是,请使用它。
否则,只需使用setField()
。
Message.set()
大多数情况下是向消息添加新字段最安全的方法,因为编译器会阻止您添加不属于某个MsgType的字段(基于FIX xx规范)。 / p>
答案 1 :(得分:0)
有关QuickfixJ的信息,请参阅this在线文档。会给你省去很多麻烦。
从 getHeader()返回的 Header 类不支持set函数。但有2套功能可以为你工作。
setString
更灵活,但您可以添加FIX标准不支持的字段,以及稍后将从客户端拒绝的字段。
setField
创建邮件的最安全方法,在您尝试在邮件中添加不存在的字段时会产生错误。但是,这可能不是一个万无一失的方法,如果你正在玩xml文件,QuickfixJ用来检查消息中存在/不存在的字段。