Cosminexus SOAPアプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

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

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

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

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

[図データ]

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

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

項番 Java例外 SOAP Fault
faultcode faultstring faultactor detail
1 ユーザ定義例外 message partのメッセージ型指定属性が参照するQName KDCCP0015-Eのメッセージ なし wsdl:fault要素に対応するスキーマインスタンス
2 ユーザ定義例外を継承する例外※1 スーパークラスのユーザ定義例外に対応するfaultcode KDCCP0015-Eのメッセージ なし スーパークラスのユーザ定義例外に対応するdetail
3 C4Fault 例外が保持するfaultcode 例外が保持するfaultstring 例外が保持するfaultactor 例外が保持するdetail
4 SOAPFaultException 例外が保持するfaultcode 例外が保持するfaultstring 例外が保持するfaultactor 例外が保持するdetail
5 RemoteException c4web:Server.UserServiceException KDCCP0007-Eのメッセージ なし なし
6 RuntimeException c4web:Server.UserServiceException KDCCP0007-Eのメッセージ なし なし
7 項番1〜6以外※2 c4web:Server.UserServiceException KDCCP0007-Eのメッセージ なし なし

注※1
サービスメソッドのthrows節で定義されているユーザ定義例外を継承する例外が該当します。ユーザ定義例外を継承する例外は,throws節で定義されていないため,WSDL Faultとは対応しません。スーパークラスであるユーザ定義例外として扱われます。

注※2
サービスメソッドのthrows節に,java.rmi.RemoteExceptionおよびユーザ定義例外のどちらでもない例外を定義した場合に該当します。