3

我目前在使用开源 QuickFix 引擎时遇到了一个奇怪的问题。我们的经纪人正在发送一些 MsgType = 8(执行报告)的测试交易,我们的 QuickFix 引擎立即回复一个异常,说“不支持的消息类型”。经纪人消息中的所有标签似乎都是合法的。

为什么会发生这种情况,我该如何解决这个问题?

4

1 回答 1

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异常,这听起来就像您所看到的那样。

于 2009-05-14T18:19:45.997 回答