バス対応 Web サービスのトラブルシューティングのヒント

この一連の具体的なヒントは、サービス統合バス対応 Web サービスに関する問題のトラブルシューティングに役立てることができます。

[z/OS]バス対応 Web サービスの問題を識別して解決するには、コンポーネント・トレース (CTRACE) の設定 で説明されているように、WebSphere Application Server トレースおよびロギングの機能を使用します。

バス対応 Web サービスのトレースを使用可能にするには、 アプリケーション・サーバーのトレース・ストリングを com.ibm.ws.sib.webservices.*=all=enabled に設定します。 バス対応 Web サービスに関連すると思われる問題が生じた場合には、WebSphere Application Server 管理コンソール、およびアプリケーション・サーバーの SystemOut.log ファイルで、エラー・メッセージを確認することができます。アプリケーション・サーバーのデバッグ・トレースを使用可能にして、例外のダンプの詳細を入手することもできます。

バス対応 Web サービスを使用している場合に適用される主な既知の制約事項のリストについては、 バス対応 Web サービス: 既知の制約事項を参照してください。

WebSphere Application Server システム・メッセージは、アプリケーション・サーバー・コンポーネントやアプリケーションなど、さまざまなソースからログに記録されます。 アプリケーション・サーバー・コンポーネントによって記録され、IBM 製品に関連したメッセージは、 メッセージを発行したコンポーネントまたはアプリケーションを示す固有のメッセージ ID で始まります。バス対応 Web サービス・コンポーネントの接頭部は CWSWS です。

メッセージのトピックには、メッセージ接頭語を索引にして、すべての WebSphere Application Server メッセージに関する情報が記載されています。 それぞれのメッセージごとに問題の説明、および問題を解決するために取ることのできるアクションの詳細が記載されています。

セキュリティー以外のヒント:

バス対応 Web サービスがセキュア・サービス統合バスに接続できない

バス使用可能 Web サービス・コンポーネントがセキュア・バスと接続できない場合は、サービス統合のリソース・アダプターがバス宛先に接続を試みる際に、( アプリケーション・サーバー SystemOut.log ファイル内で) サーバー開始時に以下のエラー・メッセージが発行されます。
CWSIV0801E: The exception javax.resource.ResourceException:
CWSIV0958E: The authorization exception 
com.ibm.wsspi.sib.core.exception.SINotAuthorizedException: 
CWSIP0302E: A user HostServer is not authorized to access the messaging engine 
xyzNode01.server1-xyz on bus xyz. was thrown while attempting to create a 
connection to messaging engine 221C86B845BE5E8B using the activation 
specification [<activation_specification_field_trace>]. 
was thrown during the creation of a connection
to messaging engine xyzNode01.server1-xyz on bus xyz.

デフォルトでは、バス対応の Web サービス・コンポーネントは、サービス統合リソース・アダプター経由でセキュア・バス宛先に接続できます。 したがって、構成には何らかの変更が必要です。

バス対応 Web サービス・コンポーネントがセキュア・バスにアクセスするために使用するデフォルト構成は以下のとおりです。
  • バスへの接続は、バス・コネクター・ロール によって構成されます。デフォルトで、各バス・コネクター・ロールにはサーバー と呼ばれるグループが含まれます。このグループのメンバーは、バスへの接続が許可されます。
  • サービス統合のリソース・アダプターは J2C アクティベーション・スペックを使用してバスと通信します。 デフォルトで、このアクティベーション・スペックのブール値のカスタム・プロパティー useServerSubject は「true」に設定されています。このプロパティーにより、サービス統合のリソース・アダプターはサーバー・グループのサブジェクト (メンバー) としてバスに接続できます。

サービス統合のリソース・アダプターがバスへのアクセスに使用する認証別名を定義することにより、このデフォルト構成をオーバーライドできます。詳しくは、バス対応 Web サービスとセキュア・バスの間のデフォルト・セキュリティー構成のオーバーライドを参照してください。

デフォルト構成と、この構成を変更またはオーバーライドした場合の影響についての詳細は、セキュア・バスにアクセスするためのバス使用可能 Web サービスのデフォルト構成を参照してください。

問題領域の幅を狭くするために、アプリケーション・サーバー・トレース・ストリングを com.ibm.ws.sib.webservices.*=all=enabled に設定します。問題の原因として考えられるコンポーネントがいくつかあるからです。 トレース内で SibRaMessagingEngineConnection.createConnection() をチェックします。
  • ユーザー ID とパスワードを使用して接続を作成します。」という句は、システムが、J2C アクティベーション・スペック用に構成された認証別名を検出し、使用を試みていることを示しています。
  • ユーザー ID/パスワードがパスされません。サーバー・サブジェクトを使用して接続を作成します。」という句は、システムが、サーバー・サブジェクトを検出し、使用を試みていることを示しています。

アウトバウンド・サービスがターゲット・サービスからの応答を待っている間に、サービス統合バスがタイムアウトになる

以下のエラーが、アウトバウンド・サービスがターゲット Web サービスからの応答を待っているときに、サービス統合バス内で発生する場合があります。
java.net.SocketTimeoutException: Socket operation timed out before it could be completed

デフォルトのタイムアウト値は 60 秒なので、ターゲット Web サービスが応答するのに 60 秒より多くかかると、このエラーが発生します。 インバウンド・ポート [設定] で説明されているように、timeout カスタム・プロパティーをインバウンド・ポート上で設定することによって、タイムアウト値を増加できます。

バス対応 Web サービスのアプリケーションまたはリソースは手動でインストールする必要がある

次のバス対応 Web サービス・アプリケーションおよびリソースが、最初に必要になったときに自動的にインストールされます。
  • バス対応 Web サービス・アプリケーション (サービス統合バスを介して Web サービスの構成およびアクセスを可能にするアプリケーション)。
  • サービス統合テクノロジーのリソース・アダプター (アウトバウンド・ポートで Web サービスを起動するために使用)。
  • エンドポイント・リスナー・アプリケーション (インバウンド・サービスのメッセージを受信するポイントを使用可能にするのに使用)。
例えば、 エンドポイント・リスナー・アプリケーションは、新規エンドポイント・リスナー構成の作成プロセスの一部としてインストールされます。

ただし、これらのアプリケーションの 1 つを手動でインストールする必要がある場合は、用意されている sibwsInstall.jacl スクリプトを使用し、WebSphere Application Server バージョン 6.0.x のトピック: バス対応 Web サービス・アプリケーションおよびリソースのインストールの説明に従って、手動でインストールすることができます。

クライアント・アプリケーションは WebSphere Application Server バージョン 5.1 の下で機能するが、後のバージョンでは問題がある

WebSphere Application Server バージョン 5.1 の下で機能するクライアント・アプリケーションがありますが、それ以降のバージョンでは、形式が適切でない要求や応答が原因で問題が発生します。

バス対応 Web サービスは、WebSphere Application Server バージョン 5.1 よりも徹底的に Web サービス・メッセージの妥当性を検査します。その結果として、形式が不適切な要求または応答 (メッセージ・パーツの名前が誤っている) を使用し、かつバージョン 5.1 の使用時には正常に動作するいくつかのクライアント・アプリケーションが、後続バージョンでは形式が不適切であると識別されます。問題解決のために実行するステップについては、 形式が不適切な SOAP メッセージの許容 を参照してください。

WebSphere Application Server バージョン 5.1 で実行中の JAX-RPC クライアントが SOAP over JMS を使用して Web サービスを呼び出すときにエラーが発生する

WebSphere Application Server バージョン 5.1 上で実行する JAX-RPC クライアントは、SOAP over JMS を使用して、バージョン 5 アプリケーション・サーバーで実行する Web サービスを起動します。ターゲットの MQ Series キューでは、ユーザー ID もパスワードも 必要ありません。アプリケーション・サーバーが新しいバージョンにマイグレーションされた後、デフォルトのメッセージングを使用すると、基本認証が使用可能になっているため、クライアント要求が失敗します。

問題は、以下のようなログ・メッセージで表示されます。
SibMessage W [:] CWSIT0009W: A client request failed in the
application server with endpoint <endpoint_name> in bus your_bus
with reason: CWSIT0016E: The user ID null failed authentication
in bus your_bus.

問題解決のために実行するステップについては、 以下のサービス統合テクノロジーのトラブルシューティングのヒントを参照してください: バージョン 5.1 アプリケーション・サーバーの WebSphere Application Server バージョン 7.0 以降 へのマイグレーション

SDO リポジトリーで使用するために Informix データベースを作成しようとしたときにエラー・メッセージが出される

SDO リポジトリーと一緒に使用するために Informix® データベースを作成しようとしたが失敗し、No Transaction Isolation on non-logging databases というメッセージを受信した

例外メッセージの一部として「No Transaction Isolation on non-logging databases.」が表示される場合、使用中の Informix データベースでロギングが使用不可になっていることが原因です。Informix データベースを SDO リポジトリーと一緒に使用する場合、ロギングを使用可能にする必要があります。

完全な例外テキストは次のとおりです。
javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 0x0 No; 
nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK:
javax.transaction.TransactionRolledbackException:  ;
nested exception is:
javax.ejb.TransactionRolledbackLocalException:  ;
nested exception is:
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException: 
PMGR1013E: Exception occurred when verifying current backend id 
INFORMIX_V94: javax.resource.spi.ResourceAllocationException: 
DSRA0080E: An exception was received by the Data Store Adapter. 
See original exception message: 
No Transaction Isolation on non-logging dbs., error code: 
DSA_ERROR, error code: DSA_ERROR vmcid: 0x0  minor code: 0  
completed: No
デフォルトでは、ロギングは使用不可になっているため、 実行時に例外になるようにデータベースのステートメント CREATE DATABASE SDOREP; を作成します。 データベースを作成する場合、次のデータベース作成ステートメントのどれかを使用します。
  • CREATE DATABASE SDOREP WITH LOG;
  • CREATE DATABASE SDOREP WITH BUFFERED LOG:
  • CREATE DATABASE SDOREP WITH LOG MODE ANSI;

UDDI レジストリーにパブリッシュされたインバウンド・サービスがリストされず、リパブリッシュが成功しない

管理コンソールによると、UDDI レジストリーに公開されたインバウンド・サービスがあります。 UDDI レジストリーを確認すると、サービスがレジストリーにリストされていないことが分かります。 管理コンソールを使用して、UDDI にサービスをリパブリッシュしようとすると、失敗します。

このサービスは、UDDI レジストリーにパブリッシュされており、WebSphere Application Server 管理コンソールに示されるサービス構成には、UDDI サービス・キーが含まれていますが、その後、対応する更新が WebSphere Application Server のマスター構成に適用されることなくサービスが UDDI から非公開にされています。 この状態が発生する 1 つの原因は、管理コンソールを使用して、UDDI レジストリーに公開されたインバウンド・サービスを削除し、その後、 変更を保存することなく管理コンソールからログアウトしたことにあります。この場合、サービスは、UDDI レジストリーから非公開になりますが、WebSphere Application Server から削除されていません (削除要求が確認されず、適用されていないためです)。

サービス構成情報を更新し、 サービスを UDDI にリパブリッシュするには、 管理コンソールを使用して、以下のステップを実行します。
  1. ナビゲーション・ペインで、「「リソース」 > 「JMS」->「JMS プロバイダー (JMS providers)」」をクリックします。このインバウンド・サービス用の現行設定が表示されます。
  2. 「テンプレート WSDL の再ロード」をクリックして、変更を保存します。
  3. 「UDDI からの非公開」をクリックして、変更を保存します。
  4. 「UDDI への公開」をクリックして、変更を保存します。
サービスは正常にリパブリッシュされ、UDDI レジストリーで復元されました。

バスで、WSDL 文書を取得するために認証プロキシー・サーバーを介してメッセージを受け渡す必要がある場合、コマンド行を使用して WSDL を取得する必要がある

バスで、WSDL 文書を取得するために認証プロキシー・サーバーを介してメッセージを受け渡す必要がある場合、コマンド行ツールを使用して WSDL を取得する必要がある。

新規 Web サービス構成の作成に使用する管理コンソール・パネルでも、既存の Web サービス構成の変更に使用するためにパネル上に用意されている「WSDL の再ロード」ボタンでも、WSDL 検索のための J2C 認証別名の入力が受け入れられません。 そのため、インバウンド・サービスおよびアウトバウンド・サービスを作成または変更する際に、バスでは WSDL 文書を取得するために認証プロキシー・サーバーを介してメッセージを受け渡す必要がある場合、WSDL を検索するコマンド行ツールのいずれかを使用する必要があります。

JMS を使用してリモート・バスに接続する場合、Web サービス・クライアントがバスに接続できるように、追加の構成が必要

リモート・バスに接続するために JMS を使用している場合、Web サービス・クライアントをバスに接続するには追加の構成が必要。

バスのメンバーであるサーバーで実行する Web サービス・クライアント・アプリケーションは、そのバス内のメッセージング・エンジンを見つけることができます。 アプリケーション・サーバーの外部、例えば、WebSphere Application Server 環境外で実行する Web サービス・クライアント・アプリケーションについては、ターゲット・バス内で接続する適切なメッセージング・エンジンを直接見つけることができません。同様に、別のセル内のターゲット・バスに接続する必要がある 1 つのセル内のサーバー上で実行する Web サービス・クライアント・アプリケーションは、ターゲット・バス内の接続する適切なメッセージング・エンジンを直接見つけることはできません。

Web サービス・クライアント・アプリケーションがリモート・バス内のターゲット・メッセージング・エンジンに接続できるようにするには、クライアントが使用する JMS 接続ファクトリーを構成して、クライアントがリモート・バス内のブートストラップ・メッセージング・エンジンに接続できるようにします。それにより、ブートストラップ・メッセージング・エンジンはターゲット・エンジンを識別し、ターゲット・エンジンにアクセスするために必要な情報がクライアントに戻されます。ブートストラップ・プロセスを可能にするには、クライアントが使用する接続ファクトリーに 1 つ以上のプロバイダー・エンドポイントを構成します。詳しくは、 デフォルト以外のブートストラップ・サーバーへの接続の構成を参照してください。

サービス統合バスを介して大容量の添付ファイルを受け渡すと、Java 仮想マシンでメモリー不足エラーが発生する

サービス統合バスを介して大容量の添付ファイルを受け渡すと、Java 仮想マシンのメモリー不足エラーが発生する。

このエラーが発生する場合、 バス対応 Web サービスの調整で説明するようにヒープ・サイズを増やしてください。

管理コンソールを使用して新規エンドポイント・リスナー構成を作成しようとするとエラーが発生する

管理コンソールを使用して新規エンドポイント・リスナーを作成しようとして、エンドポイント・リスナー・コレクション・パネルの「新規」 をクリックすると、「お待ちください」アイコンは表示されるが、ターゲット・パネルが現れない

この問題は、Mozilla Web ブラウザーの旧バージョンを使用している場合に限り発生します。ブラウザーをバージョン 1.4 以上にアップグレードしてください。 回避策として、「新規」を再度クリックすると、ターゲット・パネルが表示されます。

管理コンソールを使用して新規インバウンド・サービスを作成しようとするとエラーが発生する

管理コンソールから新規インバウンド・サービスを作成しようとすると、宛先のドロップダウン・リストは空で、ステップ 1 でウィザードが停止し、「宛先を選択してください」というエラー・メッセージが表示される

これは、インバウンド・サービスを作成しようとしているサービス統合バス上にメッセージング・エンジンがない場合にのみ発生する可能性があります。メッセージング・エンジンを作成してから、サービス宛先を作成し、その後でウィザードを再実行して、新規インバウンド・サービス構成を作成します。

添付ファイル付き SOAP メッセージを処理する際に問題が発生する

サービス統合バスを介して大容量の添付ファイルを受け渡すと、Java 仮想マシンのメモリー不足エラーが発生するを参照してください。

SOAP over HTTPS メッセージを送信しようとすると、Malformed URLException エラーが発生する

SOAP over HTTPS メッセージを送信しようとすると、Malformed URLException エラーが発生する。

サービス統合テクノロジーは、Secure Sockets Layers (SSL) を使用して、アドレスに https:// を含む外部の Web サービスを呼び出すことができます。 詳しくは、HTTPS を介してアウトバウンド・サービスを起動するを参照してください。

別々のマシンの JMS リソースが同じ名前を持っていると JNDI 検索エラーが発生する

異なるマシンのアプリケーション・サーバーで実行される JMS メッセージング・キューとキュー接続ファクトリーで同じ名前を使用すると、JNDI 参照エラーが発生する。

別々のマシンにあるアプリケーション・サーバーで稼働するメッセージング・キューおよびキュー接続ファクトリーに同じ名前を使用しないでください。これは、サービス統合テクノロジーでは、常に最初に JMS 宛先をローカルで検索し、 その宛先をローカルで見つけられない場合にのみ完全 JNDI 参照を使用するためです。 リモート・マシンにホスティングされている Web サービスをアウトバウンド・サービスとして構成する場合、 リモート・マシン上とアウトバウンド・サービスがホスティングされているマシン上でメッセージ・キューとキュー接続ファクトリーに同じ名前を使用すると、サービス統合テクノロジーは、WSDL サービス定義に完全なリモート JNDI 宛先が提供されている場合でも、ローカル・キューを見つけて使用します。

sibwsauthbean.ear ファイルをインストールすると、エラーが戻される

Web サービス操作のパスワード保護を行っているときに sibwsauthbean.ear ファイルをインストールすると、WebSphere Application Server 管理コンソールに Java Naming and Directory Interface (JNDI) 問題を詳述するエラー・メッセージが表示される。

Web サービス操作をパスワード保護する場合、許可セッション Bean の「EJB 参照」に、インポートされた Web サービス・エンタープライズ Bean の正しい JNDI 名を入力したかどうかを確認します。このホーム名には大/小文字の区別があることに注意してください。

正確な問題が SOAP の障害メッセージから判別できない

SOAP の障害メッセージが通知されるが、その障害メッセージから問題を正確に判別できない。

受け取った SOAP の障害メッセージに障害を起こしたストリングが含まれ、それがいずれかの呼び出しパラメーターの値である場合は、そのパラメーターの値が無効であることを意味します。 例えば、int パラメーターを要求するサービスに値 "1.1" が含まれたメッセージを送信した場合、受け取る障害メッセージには、次のように、障害を起こしたストリングとして 1.1 が含まれています。
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>1.1</faultstring>

このメッセージは Apache SOAP の動作と整合しており、 バス対応 Web サービスによって訂正することはできません。

SOAP over JMS エンドポイント・リスナーを使用して大容量のメッセージを渡すと、リスナー・ポートのタイムアウト・エラーが発生する

いずれの同期エンドポイント・リスナーでも、 タイムアウト・エラーが発生する可能性があります。 タイムアウト・エラーの発生する頻度を最小限に抑えるには、 エンドポイント・リスナーのタイムアウト設定値を大きくします。 問題が解決しない場合は、アプリケーション・サーバーのトレース・ストリングを com.ibm.ws.sib.webservices.*=all=disabled に設定して、サービス統合テクノロジーのトレースおよびロギングを使用不可にしてください。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjw_prob0
ファイル名:rjw_prob0.html