Hitachi

Cosminexus V11 アプリケーションサーバ 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およびユーザ定義例外のどちらでもない例外を定義した場合に該当します。