0

各タグの値を取得して、 fix4.2メッセージをデータベースに永続化したい。修正メッセージのExecutionReportオブジェクトがあります。exec.getString(1)を使用してアカウントのタグ値を取得していますが、このタグ値がメッセージに存在しないため、FieldNotFound例外がスローされています。Fiximateで、アカウントは必須フィールドではないことがわかりました。

exec.getAccount()。getValue()も試してみましたが、同じ例外が発生しました。これらすべてのメソッドがFieldNotFound例外をスローすることがわかりました。

その必須ではないフィールドが修正メッセージに存在しない場合、タグ値をnullとして取得する方法はありますか?

どんな助けでも大歓迎です。

前もって感謝します。

よろしく、シャダブ

4

1 に答える 1

1

使用しているQuickFIXポートを指定していません(たとえば、C ++の場合は元のQF、Javaの場合はQF / J、C#の場合はQF / n)。

フィールドが不要な場合は、最初にその存在をテストする必要があります。

C ++: exec.isSetField(1)またはexec.isSetField(field)
(確かではないかもしれませexec.isSetAccount()んが)

Java: exec.isSetField(1)またはexec.isSetAccount()またはexec.isSetField(field)

C#: exec.IsSet(1)またはexec.IsSetAccount()またはexec.IsSetField(field)

于 2012-12-14T16:09:54.110 に答える