我目前在使用开源 QuickFix 引擎时遇到了一个奇怪的问题。我们的经纪人正在发送一些 MsgType = 8(执行报告)的测试交易,我们的 QuickFix 引擎立即回复一个异常,说“不支持的消息类型”。经纪人消息中的所有标签似乎都是合法的。
为什么会发生这种情况,我该如何解决这个问题?
我目前在使用开源 QuickFix 引擎时遇到了一个奇怪的问题。我们的经纪人正在发送一些 MsgType = 8(执行报告)的测试交易,我们的 QuickFix 引擎立即回复一个异常,说“不支持的消息类型”。经纪人消息中的所有标签似乎都是合法的。
为什么会发生这种情况,我该如何解决这个问题?
我无法读心,但听起来您可能已经将您的应用程序实现为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
异常,这听起来就像您所看到的那样。