ご使用の WS-ReliableMessaging 構成のトラブルシューティングのヒントです。
WS-ReliableMessaging の問題の判別および解決に役立てるには、TCP/IP モニターを使用して、ご使用のクライアント・アプリケーションと高信頼性メッセージング対応
Web サービスのと間を流れるメッセージを表示します。
トレースおよびロギングの構成
コンポーネント・トレース (CTRACE) の設定で説明されている、WebSphere
Application Server のトレースおよびロギング機能を使用することもできます。
org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled:com.ibm.ws.sib.wsrm*=all=enabled
org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled
WebSphere Application Server のシステム・メッセージは、アプリケーション・サーバー・コンポーネントやアプリケーションなど、 さまざまなソースからログに記録されます。 アプリケーション・サーバー・コンポーネントによって記録され、IBM 製品に関連したメッセージは、 メッセージを発行したコンポーネントまたはアプリケーションを示す固有のメッセージ ID で始まります。WS-ReliableMessaging コンポーネントの接頭部は、CWSKA です。
トラブルシューターの参照: メッセージのトピックには、メッセージ接頭語別に索引を付けた、すべての WebSphere Application Server メッセージについての情報が含まれています。各メッセージには、問題の説明、および問題を解決するためにとることのできるアクションの詳細があります。
ご使用のクライアント・アプリケーションが高信頼性メッセージング対応 Web サービスを呼び出すことができない場合、TCP-IP モニターを使用して、クライアントとサービスの間 を流れているメッセージを表示できます。 以下の点も確認する必要があります。
シーケンスが確立された後に、WS-ReliableMessaging はサービスへの再送信の再送信を提供します。 ただし、シーケンスが確立されていない場合、メッセージはサービスに送信されず、 以下の例と同様のメッセージが表示されます。
org.apache.axis2.AxisFault: シーケンスの要求作成は RM 宛先により拒否されました
初期 createSequence メッセージは拒否されました。これが伝搬し直されて、 クライアントの障害を引き起こします。CreateSequence および CreateSequenceRefused について詳しくは、WS-ReliableMessaging: サポートされる仕様と標準 を参照してください。
要求が拒否された理由を説明するのに役立つメッセージが続いて表示されることもあります。 以下に例を示します。
原因: javax.xml.ws.soap.SOAPFaultException: com.ibm.ws.sib.wsrm.exceptions.WSRMRuntimeException: CWSJZ0202I: バス myBus のメッセージング・エンジン接続が使用できません。
以下の例外と同様の例外が表示された場合、 シーケンスは設定されていますが、使用できません。
javax.xml.ws.WebServiceException: org.apache.axis2.AxisFault: wsrm:Identifier の値が既知のシーケンス ID ではありません。
一般的にもっとも可能性が高い理由は、 ユーザーはクラスター化された環境で作業をしているのに、サーバー・サイドの ポリシー・セットが管理対象外の非パーシスタントのサービス品質を指定していることです。
問題の解決に役立つ可能性のある確認の詳細については、トラブルシューティングのヒント、シーケンスが確立されていないため、WS-ReliableMessaging がメッセージの送信を確認できないおよびクライアント・アプリケーションが、高信頼性メッセージング対応 Web サービスを呼び出すことができないも参照してください。
ご使用のポリシー・セットが管理対象サービス品質を指定しているのに、 ユーザーがそのサービス品質をサポートするメッセージ・エンジンのバインディングを指定していない場合、 以下の例外メッセージが表示されます。
CWSKA0102E: ポリシー・セットのバインディングが不完全であるかまたは無効なため、管理対象 Web サービスの高信頼性メッセージング・ストレージ・マネージャーを初期化できませんでした。
管理対象ポリシー・セットをアプリケーションに添付して、(管理対象サービス品質をサポートしていない) デフォルトのバインディングを使用している可能性があります。 サービス統合バスおよびメッセージング・エンジンを指定するアプリケーション用に新規バインディングを作成して、 管理対象サービス品質をサポートする必要があります。 これを行うには、管理コンソールを使用した Web サービス・アプリケーションへの WS-ReliableMessaging ポリシー・セットの添付およびバインディングを参照してください。
この方法でメッセージを失う可能性を除去するには、例: シーケンスの完了を待機するためのコード の説明に従って、ご使用のクライアント・アプリケーションに、sequenceManager の waitUntilSequenceCompleted メソッドへの呼び出しを組み込みます。 これにより、クライアント・アプリケーションが JVM を終了する前に、高信頼性メッセージングはそのメッセージの送信を終了するようになります。
クラスター化は、使用できなくなるサーバーに対して最大限の保護を提供します。 クラスター化により、高可用性サービス・エンドポイントが提供され、また (サービス統合バスを通して) 高可用性のある高信頼性メッセージング層が提供されます。 Web サービスおよびメッセージング・エンジン用の高可用性の構成についての情報は、クラスターとのワークロードの平衡化 および../../../../com.ibm.websphere.pmc.wsfep.multiplatform.doc/tasks/tjj0042_.htmlを参照してください。
高信頼性メッセージング層は、要求メッセージを受信すると、 肯定応答を送信し、次にそのメッセージをターゲット・サービスに配信します。 要求メッセージが応答された後で、配信が行われる前に、高信頼性メッセージング層をホスティングしているサーバーが使用できなくなる可能性がわずかにあります。 この場合、管理対象パーシスタントのサービス品質を使用しているだけでなく、 順序正しい配信を使用している場合のみ、メッセージは回復されます。 順序正しい配信を指定するには、WS-ReliableMessaging ポリシーの構成 に説明されているとおり、WS-ReliableMessaging ポリシー・オプションで「メッセージを送信順に配信する」を選択します。