現在、オープンソースのQuickFixエンジンで奇妙な問題が発生しています。私たちのブローカーはMsgType=8(実行レポート)でいくつかのテスト取引を送信しており、QuickFixエンジンは「サポートされていないメッセージタイプ」という例外を除いてすぐに応答します。ブローカーのメッセージ内のすべてのタグは正当であるように見えます。
なぜこれが発生し、どうすれば問題を解決できますか?
現在、オープンソースのQuickFixエンジンで奇妙な問題が発生しています。私たちのブローカーはMsgType=8(実行レポート)でいくつかのテスト取引を送信しており、QuickFixエンジンは「サポートされていないメッセージタイプ」という例外を除いてすぐに応答します。ブローカーのメッセージ内のすべてのタグは正当であるように見えます。
なぜこれが発生し、どうすれば問題を解決できますか?
私は心を読むことができませんが、アプリケーションをMessageCrackeronMessage
として実装したものの、適切な関数をオーバーライドするのを忘れたようです。onMessage
メッセージ タイプの FIX バージョンごとに個別のオーバーロードがあることに注意してください。たとえば、次のようなものがあります。
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
これらすべてのメソッドのデフォルトの実装は、あなたが見ているように聞こえる例外をスローします。