不知道为什么FIX服务器会抛出此错误。使用Fix.4.4,我有一个客户端生成市价订单。它被服务器接收,但它返回错误。
登录在客户端和服务器端成功。然后客户发送市价单:
Header [8=FIX.4.4 | 9=130 | 35=D | 34=92 | 49=BROKER_CLIENT | 52=20121009-00:58:44.283 | 56=BROKER_SERVER | ] Body [11=0 | 21=1 | 38=100 | 40=1 | 54=1 | 55=JNJ | 59=0 | 60=20121009-00:58:44 | ] Trailer [10=035 | ]
这是从服务器的'fromApp'方法接收的。然后服务器响应: (消息92拒绝:有条件地要求字段缺失:35)
Field35显然存在,无法看到服务器响应错误的原因。
答案 0 :(得分:0)
此问题也发布在邮件列表中。事实证明弗洛雷斯先生正在打电话
std::string msgType = message.getField(FIX::FIELD::MsgType);
而不是
std::string msgType = message.getHeader().getField(FIX::FIELD::MsgType);
在他的FromApp()
电话中。