3.6.4 Java例外からSOAP Faultへのマッピング

SOAPアプリケーションの実行中に例外が発生した場合の処理の流れと,Java例外とSOAP Faultのマッピングについて説明します。

サービスエンドポイントが例外をスローしたときの処理を,次の図に示します。

図3-30 例外をスローしたときの処理の流れ

[図データ]

Java例外からSOAP Faultへのマッピング規則を次の表に示します。

表3-18 Java例外からSOAP Faultへのマッピング規則

項番Java例外SOAP Fault
faultcodefaultstringfaultactordetail
1ユーザ定義例外message partのメッセージ型指定属性が参照するQNameKDCCP0015-Eのメッセージなしwsdl:fault要素に対応するスキーマインスタンス
2ユーザ定義例外を継承する例外※1スーパークラスのユーザ定義例外に対応するfaultcodeKDCCP0015-Eのメッセージなしスーパークラスのユーザ定義例外に対応するdetail
3C4Fault例外が保持するfaultcode例外が保持するfaultstring例外が保持するfaultactor例外が保持するdetail
4SOAPFaultException例外が保持するfaultcode例外が保持するfaultstring例外が保持するfaultactor例外が保持するdetail
5RemoteExceptionc4web:Server.UserServiceExceptionKDCCP0007-Eのメッセージなしなし
6RuntimeExceptionc4web:Server.UserServiceExceptionKDCCP0007-Eのメッセージなしなし
7項番1~6以外※2c4web:Server.UserServiceExceptionKDCCP0007-Eのメッセージなしなし
注※1
サービスメソッドのthrows節で定義されているユーザ定義例外を継承する例外が該当します。ユーザ定義例外を継承する例外は,throws節で定義されていないため,WSDL Faultとは対応しません。スーパークラスであるユーザ定義例外として扱われます。
注※2
サービスメソッドのthrows節に,java.rmi.RemoteExceptionおよびユーザ定義例外のどちらでもない例外を定義した場合に該当します。