Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム システム構築・運用ガイド
サービスリクエスタから標準受付を使用してサービス部品を呼び出す場合のエラーの伝わり方を説明します。エラーの伝わり方は,エラーの種類やビジネスプロセスの有無によって異なります。
図7-51 サービス部品からユーザ定義例外のエラーがリターンした場合(ビジネスプロセスを使用しないとき)のSessionBeanでの通信でのエラーの伝わり方
図7-52 サービス部品からユーザ定義例外以外のエラーがリターンした場合(ビジネスプロセスを使用しないとき)のSessionBeanでの通信でのエラーの伝わり方
図7-53 HCSCサーバからエラーがリターンした場合(ビジネスプロセスを使用しないとき)のSessionBeanでの通信でのエラーの伝わり方
図7-54 サービス部品からユーザ定義例外のエラーがリターンした場合(ビジネスプロセスを使用するとき)のSessionBeanでの通信でのエラーの伝わり方
図7-55 サービス部品からユーザ定義例外以外のエラーがリターンした場合(ビジネスプロセスを使用するとき)のSessionBeanでの通信でのエラーの伝わり方
図7-56 HCSCサーバからエラーがリターンした場合(ビジネスプロセスを使用するとき)のSessionBeanでの通信でのエラーの伝わり方
図7-57 サービスリクエスタでエラーを検知した場合のSessionBeanでの通信でのエラーの伝わり方
サービスリクエスタから標準受付(SessionBean)を使用してサービス部品を呼び出した場合の問題発生個所の切り分け方について説明します。問題発生個所の切り分け方を次の図に示します。
図7-58 問題発生個所の切り分け方(サービスリクエスタから標準受付(SessionBean)を使用してサービス部品を呼び出した場合)
HCSCサーバから応答するSOAP Fault(SOAPメッセージ)について,どの要素に何の情報が設定されるかを示します。HCSCサーバから応答する例外の内容を次の表に示します。エラーのケースの番号は「7.7.2(2) 問題発生個所の切り分け方」で示す番号に相当します。
表7-69 HCSCサーバから応答する例外の内容
HCSCサーバから応答するCSCMsgServerExceptionのフォルト名 | エラーのケース | |
---|---|---|
(ii)の場合 | (i),(iii)の場合 | |
errorMessage | 次に示すエラーの内容です。
|
|
errorCode | 次に示す例外の内容に対応するエラーコードです。
|
|
processInstanceID | ビジネスプロセスのインスタンスIDの情報です。ビジネスプロセスでエラーが発生した場合に値が設定されます。 | |
cscmsgFaultCode | サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタ※からのFaultCode情報です。 | 値はありません。 |
cscmsgFaultString | サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタ※からのFaultString情報です。 | 値はありません。 |
cscmsgFaultActor | サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタ※からのFaultActor情報です。 | 値はありません。 |
cscmsgFaultDetail | サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタ※からのDetail情報です。 | 値はありません。 |
faultName | サービス部品(WebサービスまたはSessionBean)またはビジネスプロセスからのフォルト名(例外名)情報です。次の場合に値が設定されます。
|
値はありません。 |
サービスリクエスタへ応答した例外およびエラーメッセージから問題発生個所を切り分ける方法のほかに,サービスリクエスタ側で設定したクライアント相関IDや,ビジネスプロセスの相関セットを基に問題発生個所を特定する方法があります。サービス部品呼び出し要求の実行履歴の追跡を次の図に示します。
図7-59 サービス部品呼び出し要求の実行履歴の追跡(SessionBeanの場合)
特定方法やビジネスプロセスを使用する場合の手順については,Webサービス(SOAP通信)の場合の手順と同様です。詳細については,「7.7.1 Webサービス(SOAP通信)実行時の障害対策」を参照してください。
ここでは,SessionBeanの場合にだけ該当する手順について説明します。
サービスリクエスタから指定したクライアント相関IDからたどる手順を次に示します。
詳細については,「7.7.1 Webサービス(SOAP通信)実行時の障害対策」を参照してください。
性能解析トレースを使ってさらに調査し,問題が発生した個所をより細かく特定できます。また,性能解析トレースのスレッドIDをたどることで,サービス部品稼働マシンのログとの対応を次のように確認できます。
さらに調べたい場合は,J2EEサーバが出力する障害情報のログを使って,エラー発生個所のスレッドIDをたどります。
性能解析トレースの例を次に示します。
図7-60 性能解析トレースの例
「図7-60 性能解析トレースの例」の図中の番号は次の内容を示します。
(1)メッセージ共通IDと一致する文字列を含む行です。共通のIDが与えられているためつながりがわかります。
(2)RMI呼び出しで複数のスレッドにわたるため,番号が変化しています。
(3)検索で一致したスレッド番号です。
(4)スレッド番号(項番3)のスレッドIDです。
(5)標準受付(SessionBean)の入口です。
(6)ビジネスプロセスの呼び出し口です。
(7)メッセージング基盤からのビジネスプロセス実行要求呼び出しです。
(8)データ変換要求の呼び出しです。
(9)データ変換要求からの応答です。
(10)メッセージング基盤へのビジネスプロセスからのサービス部品要求の呼び出しです。
(11)ビジネスプロセス受付の入口です。
(12)SessionBeanアダプタのサービス部品呼び出し口です。
(13)HCSCサーバ稼働マシンからサービス部品稼働マシンの呼び出しです。
(14)EJBコンテナリクエスト直後です。
(15)EJBコンテナレスポンス直前です。
(16)エラーが発生しています。
この例では,「図7-60 性能解析トレースの例」で示した(13)で,サービス部品のRMIを呼び出し,そのあとEJBコンテナがリクエストを受信した直後にエラーが発生していることがわかります(性能解析トレースの採取レベルは「通常」と「詳細」の2つありますが,「図7-60 性能解析トレースの例」は「通常」で採取した場合のトレースです)。
サービス部品稼働マシンがApplication Serverを使用している場合は,エラーが起きた個所のスレッドIDとサービス部品稼働マシン側の障害情報を突き合わせることで,さらに調査できます。
なお,性能解析トレースのスレッドIDは10進数ですが,J2EEサーバが出力する障害情報は16進数表現なので,個別にスレッドIDを16進数に直す必要があるため注意してください。
サービスアダプタからのサービス部品呼び出しについては,SessionBeanの呼び出しによってスレッドIDが変化しますが,Root AP CommonNo列によってつながりがわかります。性能解析トレースファイルの利用方法の詳細については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7.7.1 処理性能の解析作業の概要」を参照してください。
ユーザ電文に指定したビジネスプロセスの相関セットからたどる手順を次に示します。
詳細については,「7.7.1 Webサービス(SOAP通信)実行時の障害対策」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.