Spring-WSをSOAPクライアントとして使用しているとき、着信障害を特定のJava例外に変換するのは困難です。
たとえば、Webサービス操作が私の場合呼び出しでClientNotFoundFaultを返すことができ、 "InvalidAmountFault"とします。Spring-WSにClientNotFoundExceptionまたはInvalidAmountExceptionのいずれかをスローさせることはできますか?
Spring-WSはSoapFaultClientExceptionとは異なる何かを投げることができますか
書くとき、私はこれとは逆にこれをすることができますWebサービス自体そこで、SoapFaultMappingExceptionResolverを使用して、例外を同等の障害に簡単に変換できます。私はクライアントを書くときにそれをすることについて何かを見つけることができませんでした...
Spring-WS 2.1.0.RELEASEとJDK 1.7.6を使用しています。
おかげで、私が十分にはっきりしていないのか、あるいはいくつかのコード例が必要なのであれば教えてください。
回答:
回答№1は0クライアントに同等のリゾルバはありません側。リゾルバのインターフェースは、誰かが似たようなマッパーを書く準備がすべて整っています。フォルトコードと例外クラスのマップを保持するのは非常に簡単なはずです。
org.springframework.ws.client.core.FaultMessageResolverを参照してください。
これはSoapFaultMessageResolverによって実装されており、現時点ではSoapFaultClientExceptionに障害メッセージが表示されています。