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

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

<この項の構成>
(1) スタブを使用した場合
(2) DIIを使用した場合

(1) スタブを使用した場合

スタブを使用した場合に,SOAP Faultを受信したときの処理の流れを次の図に示します。

図3-31 SOAP Fault受信時の処理の流れ(スタブ)

[図データ]

SOAP Faultを受信したときの処理を次の表に示します。

表3-19 SOAP Fault受信時の処理(スタブ)

項番SOAP FaultSOAPクライアント
1WSDL Faultに対応するインスタンスユーザ定義例外が取得されます。
2WSDL Faultに対応しないインスタンスC4Faultが取得されます。

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

表3-20 SOAP FaultからJava例外へのマッピング規則(スタブ)

SOAP Faultの要素ユーザ定義例外の場合C4Faultの場合
faultcodeマッピングされません。C4FaultのFaultCodeに設定されます。
faultstringマッピングされません。C4FaultのFaultStringに設定されます。
faultactorマッピングされません。C4FaultのFaultActorに設定されます。
detailwsdl:fault要素で指定しているスキーマに従って,ユーザ定義例外へマッピングされます。C4FaultのFaultDetailに設定されます。

(2) DIIを使用した場合

DIIを使用した場合に,SOAP Faultを受信したときの処理の流れを次の図に示します。

図3-32 SOAP Fault受信時の処理の流れ(DII)

[図データ]

SOAP Faultを受信したときの処理を次の表に示します。

表3-21 SOAP Fault受信時の処理(DII)

項番SOAP FaultSOAPクライアント
1WSDL Faultに対応するインスタンス
  1. RemoteExceptionからC4Faultがアンラップされます。
  2. C4Faultからユーザ定義例外がアンラップされます。
  3. ユーザ定義例外が取得されます。
2WSDL 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