10.4.2 Webサービスクライアント側のフォルトの処理
wsdl:fault要素に対応するSOAPフォルト,およびwsdl:fault要素に対応しないSOAPフォルトについてそれぞれ説明します。
-
wsdl:fault要素に対応するSOAPフォルト
Webサービスクライアント側のJAX-WSエンジンが,「10.4.1(1) サービス固有例外の処理」に従ってマーシャルされたSOAPフォルトメッセージを受け取った場合,元のフォルトbeanとラッパ例外にアンマーシャルされ,Webサービスクライアントにスローされます。つまり,Webサービスでスローされたサービス固有例外は,透過的にWebサービスクライアントへ送信されます(この動作は,JAX-WS 2.2仕様に従っています)。
-
wsdl:fault要素に対応しないSOAPフォルト
Webサービスクライアント側のJAX-WSエンジンが,wsdl:fault要素に対応しないSOAPフォルトメッセージを受け取った場合,javax.xml.ws.soap.SOAPFaultExceptionにアンマーシャルされ,Webサービスクライアントにスローされます(この動作は,JAX-WS 2.2仕様に従っています)。
SOAP 1.2の場合,SOAPフォルトがsoapenv12:Text要素を複数持つとき,SOAPFaultExceptionオブジェクトが持つSOAPFaultオブジェクトにはReason Textが一つだけ設定されます。次に示す個所の値(文字列)およびロケールが設定されます。
-
値:最後のsoapenv12:Text要素の値
-
ロケール:JavaVMのデフォルトのロケール
-