Cosminexus V9 アプリケーションサーバ SOAPアプリケーション開発の手引

[目次][用語][索引][前へ][次へ]

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 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に設定されます。

(2) DIIを使用した場合

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

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

[図データ]

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

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

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