エラー情報の取得方法は,SOAP通信基盤の種類によって異なります。
(a) Cosminexusが提供しているSOAP通信基盤を使用している場合
Cosminexusが提供しているSOAP通信基盤を使用している場合,CSCMsgServerFaultExceptionオブジェクトをキャッチして,SOAP Faultのエラー情報を取得します。
エラー情報を取得するには,サービスリクエスタ側で次のように実装する必要があります。
:
} catch (CSCMsgServerFaultException e) {
System.err.println("Exception ErrorMessage = "
+ e.getErrorMessage() );
System.err.println("Exception ErrorCode = "
+ e.getErrorCode() );
System.err.println("Exception ProcessInstanceID = "
+ e.getProcessInstanceID() );
System.err.println("Exception FaultCode = "
+ e.getCscmsgFaultCode() );
System.err.println("Exception FaultString = "
+ e.getCscmsgFaultString() );
System.err.println("Exception FaultActor = "
+ e.getCscmsgFaultActor() );
System.err.println("Exception FaultDetails = "
+ new String(e.getCscmsgFaultDetail(), "UTF-8"));
System.err.println("Exception FaultName = "
+ e.getFaultName() );
}
: |
各メソッドについて,次に説明します。
- ●getErrorMessage
- 説明
- エラーメッセージを取得します。
- 次の例外の内容を取得する場合に使用します。
- HCSC-Messaging内で検知した例外
- サービス部品やビジネスプロセスからのフォルト
- 形式
- public java.lang.String getErrorMessage()
- ●getErrorCode
- 説明
- エラーコードを取得します。
- 次の例外の内容に対するエラーコードを取得する場合に使用します。
- HCSC-Messaging内で検知した例外
- サービス部品やビジネスプロセスからのフォルト
- 形式
- public java.lang.String getErrorCode()
- ●getProcessInstanceID
- 説明
- ビジネスプロセスインスタンスIDを取得します。
- 形式
- public String getProcessInstanceID()
- ●getCscmsgFaultCode
- 説明
- サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのFaultCode情報を取得します。
- 形式
- public java.lang.String getCscmsgFaultCode()
- ●getCscmsgFaultString
- 説明
- サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのFaultString情報を取得します。
- 形式
- public java.lang.String getCscmsgFaultString()
- ●getCscmsgFaultActor
- 説明
- サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのFaultActor情報を取得します。
- 形式
- public java.lang.String getCscmsgFaultActor()
- ●getCscmsgFaultDetail
- 説明
- サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのDetail情報を取得します。
- サービス部品が設定したDetail情報をバイト配列でサービスリクエスタに引き渡します。したがって,取得したバイト配列を文字列に変換する必要があります。
- なお,サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのDetail情報がない場合は,0バイトのバイト配列(SOAPメッセージの空タグ)で応答します。
- 形式
- public byte[] getCscmsgFaultDetail()
- ●getFaultName
- 説明
- サービス部品(Webサービス)またはビジネスプロセスからの例外名を取得します。
- 形式
- public String getFaultName()
(b) Cosminexusが提供しているSOAP通信基盤を使用していない場合
取得するエラー情報は,サービスリクエスタ側で実装しているSOAPエンジンに依存します。
エラー情報(SOAP Fault)の形式を次の表に示します。
表10-4 エラー情報(SOAP Fault)の形式
要素 | 名称 | 内容 |
---|
faultcode | Faultコード | SOAPエンジンに依存する値です。 message partのメッセージ型属性が参照するQCNameです。 |
faultstring | Fault文字列 | SOAPエンジンに依存する値です。 KDCCP0015-Eを出力します。 |
faultactor | Fault生成者 | SOAPエンジンに依存する値です。値はありません。 |
detail※ | Fault詳細 | wsdl:faultに対応する内容です。 |
- 注※
- 要素「detail」はエラー情報の詳細です。次の表に示す構造体で格納されます。
表10-5 エラー情報(SOAP Fault)の詳細
フィールド名 | 説明 |
---|
サービス部品,ビジネスプロセス,カスタムアダプタ,または連携するHCSCサーバからのエラー(フォルト) | HCSCサーバで検知したエラー(例外) |
---|
errorMessage | 次に示すエラーの内容です。
- HCSCサーバ内で検知したエラー
- サービス部品,ビジネスプロセス,およびカスタムアダプタからのエラー
|
errorCode | 次に示す例外の内容に対応するエラーコードです。
- HCSCサーバ内で検知したエラー
- サービス部品,ビジネスプロセス,およびカスタムアダプタからのエラー
|
processInstanceID | ビジネスプロセスのインスタンスIDの情報です。 ビジネスプロセスでエラーが発生した場合に値が設定されます。 |
cscmsgFaultCode | サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのFaultCode情報です。 | - |
cscmsgFaultString | サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのFaultString情報です。 | - |
cscmsgFaultActor | サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのFaultActor情報です。 | - |
cscmsgFaultDetail | サービス部品(Webサービス),ビジネスプロセス,またはカスタムアダプタからのDetail情報です。 | - |
faultName | サービス部品(WebサービスまたはSessionBean)またはビジネスプロセスからのフォルト名(例外名)情報です。 次の場合に値が設定されます。
- サービス部品(WebサービスまたはSessionBean)からのユーザ定義例外のSOAP Faultの場合
- ビジネスプロセスからのフォルトの場合
SOAP Fault動作定義ファイルにtargetNamespaceのURIを定義したWebサービスからのSOAP Faultの場合,値は設定されません。SOAP Fault動作定義ファイルについては,マニュアル「Cosminexus サービスプラットフォーム リファレンス」の「SOAP Fault動作定義ファイル」を参照してください。 | - |
(凡例) -:該当しません。