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のメッセージ | なし | なし |