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