2009-03-20 9 views
3

現在、オープンソースのQuickFixエンジンで奇妙な問題が発生しています。ブローカーがMsgType = 8(Execution Report)でテストトレードを送信していて、QuickFixエンジンがすぐに「サポートされていないメッセージタイプ」という例外で応答します。ブローカーのメッセージ内のすべてのタグが正当であるように見えます。実行レポートメッセージに奇妙なQuickFixエンジンの応答

なぜこのようなことが起こり、問題を解決するにはどうすればよいですか?

答えて

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例外をスローします。

+0

コードは、異なるバージョンの修正プロトコルを使用する2つのサービスによって共有されていました。 1つのサービスで使用されている実際のプロトコルのコードにonMessageがありませんでした。 – macleojw