我目前遇到了开源QuickFix引擎的一个奇怪问题。我们的经纪人正在发送一些MsgType = 8(执行报告)的测试交易,我们的QuickFix引擎立即回复一个例外,说“不支持的消息类型”。经纪人邮件中的所有标签似乎都是合法的。
为什么会发生这种情况?如何解决问题?
答案 0 :(得分:9)
我无法读懂思想,但听起来您可能已将应用程序实现为MessageCracker,但忘记覆盖相应的onMessage
函数。请注意,对于邮件类型的每个FIX版本,都有单独的onMessage
重载,例如有:
onMessage (const FIX40::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX41::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX42::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX43::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX44::ExecutionReport&, const FIX::SessionID&)
所有这些方法的默认实现都会引发UnsupportedMessageType
异常,这听起来就像你所看到的那样。