私はWebサービスにspring-wsを使用していますが、同じ初期要求に対して異なる応答を返す方法を見つけることはできません。ちょうど私が特定のタイプのリクエストを取得したとしましょう、我々はそれをFindGasRequestと呼ぶでしょう。 FindGasRequestが来たら正しいエンドポイントにマップしてから、ビジネスロジックを実行してからFindGasResponseを返すように、私はすでにエンドポイントマッピングを適切に設定しています。spring-wsが別の種類を返す
ここに私の質問です。 FindGasRequestを取得した後、ビジネスロジックで、FindGasResponseを返す代わりに、ListGasStationsResponseを返すことを決定します。 @PayloadRootでマークされたメソッドがFindGasResponseを予期している場合、どうすればよいでしょうか?私はペイロードを何か他のものに変えることはできますか?
私は例外をスローできるようにエラーチェックを設定していますが、FindGasErrorResponseと例外ハンドラを返します。だから私の最初の考えは何か似たようなことをすることでしたが、エラーが発生していないときには例外をスローするのはむしろ面倒です。
Javaで十分に単純なように見えますが、問題はその構造を反映するXSDがあることです。リストには1つ以上のFindGasResponse要素を含めることができるので、私が思いつくことができるベストは(あなたの例に基づいて)常にリストを返すことです。 – evandongen