0

私はquickfixjで開発しています

QuoteRequestメッセージのヘッダーにSenderSubIDフィールドを設定しようとしています。

私は次のコードを使用します:

QuoteRequest msg = new QuoteRequest();
msg.getHeader().set(new SenderSubID(myid));

これが最善の方法ですか、それともこれを行うためのより良い方法がありますか?ありがとう

4

2 に答える 2

0

getHeader()を使用できるかどうかわかりませんset()。ある場合は、それを使用してください。それ以外の場合は、単に使用しますsetField()

Message.set()ほとんどの場合、新しいフィールドをメッセージに追加する最も安全な方法です。これは、(FIX xx 仕様に基づいて) 特定の MsgType の一部ではないフィールドをコンパイラが追加できないようにするためです。

于 2011-03-01T07:23:24.010 に答える
0

QuickfixJ については、このオンライン ドキュメントを参照してください。多くの手間を省きます。

getHeader()から返されるHeaderクラスは set 関数をサポートしていません。しかし、あなたのために働くことができる2つのセット機能があります。

setString 

より柔軟ですが、FIX 標準でサポートされておらず、後の段階でクライアントから拒否されるフィールドを追加できます。

setField  

メッセージを作成する最も安全な方法は、メッセージに存在しないフィールドを追加しようとするとエラーが発生することです。ただし、QuickfixJ がメッセージに存在する/存在しないフィールドをチェックするために使用する xml ファイルをいじっている場合、これは絶対確実な方法ではない可能性があります。

于 2011-03-01T08:41:30.963 に答える