3.6.5 SOAP FaultからJava例外へのマッピング
SOAPアプリケーションの実行中にSOAP Faultを受信した場合の処理の流れと,SOAP FaultとJava例外のマッピングについて説明します。
- 〈この項の構成〉
(1) スタブを使用した場合
スタブを使用した場合に,SOAP Faultを受信したときの処理の流れを次の図に示します。
SOAP Faultを受信したときの処理を次の表に示します。
項番 |
SOAP Fault |
SOAPクライアント |
---|---|---|
1 |
WSDL Faultに対応するインスタンス |
ユーザ定義例外が取得されます。 |
2 |
WSDL Faultに対応しないインスタンス |
C4Faultが取得されます。 |
SOAP FaultからJava例外へのマッピング規則を次の表に示します。
SOAP Faultの要素 |
ユーザ定義例外の場合 |
C4Faultの場合 |
---|---|---|
faultcode |
マッピングされません。 |
C4FaultのFaultCodeに設定されます。 |
faultstring |
マッピングされません。 |
C4FaultのFaultStringに設定されます。 |
faultactor |
マッピングされません。 |
C4FaultのFaultActorに設定されます。 |
detail |
wsdl:fault要素で指定しているスキーマに従って,ユーザ定義例外へマッピングされます。 |
C4FaultのFaultDetailに設定されます。 |
(2) DIIを使用した場合
DIIを使用した場合に,SOAP Faultを受信したときの処理の流れを次の図に示します。
SOAP Faultを受信したときの処理を次の表に示します。
項番 |
SOAP Fault |
SOAPクライアント |
---|---|---|
1 |
WSDL Faultに対応するインスタンス |
|
2 |
WSDL Faultに対応しないインスタンス |
C4FaultをラップしたRemoteExceptionが取得されます。 |
C4FaultをラップしたRemoteExceptionの内容を示します。
RemoteException |
内容 |
---|---|
詳細メッセージ |
KDCCP3008-E An attempt to execute the invoke method has failed.(Class name = <クラス名>, Method signature = <メソッドシグネチャ>, reason = <理由>) |
原因例外 |
C4Fault |