サード・パーティー JAX-WS Web サービス・エンジンの使用

状況によっては、サード・パーティーの JAX-WS Web サービス・エンジンをセットアップする必要がある場合があります。例えば、WebSphere® Application Server、JBoss、および WebLogic など多様なアプリケーション・サーバーに対して単一のランタイムを使用するアプリケーションをデプロイする必要がある場合や、CXF、Axis2、および Metro などのサード・パーティー JAX-WS ランタイムを使用して JAX-WS Web サービス・アプリケーションをビルドしたい場合には、サード・パーティー JAX-WS Web サービス・エンジンをセットアップする必要があります。

始める前に

サード・パーティー JAX-WS ランタイムの使用には、制約があります。構成変更 も必須であり、また、場合によっては、 デプロイメント中およびアプリケーション実行時に起こった問題を解決するために手操作による介入が 必要になることもあります。これらの制約および問題は、使用することに決めたサード・パーティー JAX-WS ランタイムによって異なります。使用する準備をしているサード・パーティー JAX-WS ランタイムの制約を理解した後で、その実装を使用するようにシステムを構成してください。

使用するサード・パーティー JAX-WS 実装に関係なく、 以下の制約があります。
  • WebSphere Application Server ランタイムは、WebSphere Application Server で提供される JAX-WS 実装と外部 JAX-WS 実装の両方を同じアプリケーション EAR ファイル内で使用するアプリケーション・モジュールの使用を制限します。1 つのアプリケーション EAR ファイル内では、WebSphere Application Server で提供される JAX-WS 実装または外部実装のどちらか一方を使用する必要があります。この制約によって、ランタイム WebSphere Application Server が外部サード・パーティー JAX-WS 実装と競合しないことが保証されます。
  • 外部 JAX-WS 実装を使用するアプリケーションをデプロイする前に、 競合する JAR ファイルをすべてアプリケーション・ライブラリーから 削除する必要があります。ほとんどの外部サード・パーティー JAX-WS ランタイムは、既に WebSphere Application Server にインストールされているいくつかの JAR ファイル・ライブラリーを含んでいます。この状態は、アプリケーション・ライブラリーにおける競合の原因になります。
  • サード・パーティー JAX-WS ランタイムを使用するアプリケーションは、WebSphere Application Server にデプロイされた後は、サービス・クライアントまたはプロバイダーとしては認識されません。従って、アプリケーション・レベルのポリシー・セットを そのようなアプリケーションに関連付けることはできません。外部ランタイムがサービス品質をサポートすることを信頼する必要があります。サード・パーティー JAX-WS 実装を使用するアプリケーションをデプロイおよび実行することに決めた場合、以下のリストに示す WebSphere Application Server 機能は使用不可になります。
    • WS-Security、WS-RM、および WS-Transactions ポリシー・セット
    • WSDM
    • JAX-WS サービスまたはポート・インスタンスを取得するための JNDI 検索
トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): IBM は、WebSphere Application Server 上でのサード・パーティー JAX-WS ランタイムの実行を使用可能にすることをサポートしていて、そのようなランタイムを使用するアプリケーションを正常にデプロイできることも保証していますが、JAR ファイル競合問題の解決、またはスタック・トレースによってサード・パーティー・コード中にあることが示される問題の解決はサポートしていません。gotcha

このタスクについて

サード・パーティー JAX-WS 実装を含むアプリケーション EAR ファイルが WebSphere Application Server にデプロイされる場合、WebSphere Application Server ランタイムは、サード・パーティー・エンジンの使用を保証し、既存の WebSphere Application Server JAX-WS Web サービス・エンジンを使用不可にする必要があります。

WebSphere Application Server は、サード・パーティー JAX-WS ランタイムのサポートを表明してはいませんが、そのようなランタイムを使用するアプリケーションのデプロイと実行はテスト済みです。

アプリケーションで外部 JAX-WS ランタイムを使用するには、その前に以下の手順を実行する必要があります。

手順

  1. クラス・ローダー・ポリシーをモジュール・レベルで「最初にローカル・クラス・ローダーでロードしたクラス (親が最後)」に設定します。

    クラス・ローダー・ポリシーを「親が最後」に変更すれば、外部サード・パーティー JAX-WS ランタイムおよびそれに従属するライブラリー JAR ファイルがクラス・ローダー検索パスで最初になり、従って WebSphere Application Server の代わりにサード・パーティー実装が確実に使用されるようになります。

    1. 管理コンソールで、「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>application_name>「モジュールの管理」>「webmodule_name」とクリックします。
    2. ドロップダウン・リストから「最初にローカル・クラス・ローダーでロードしたクラス (親が最後)」を選択します。
    3. OK」をクリックしてから「保存」をクリックして、変更を保存します。
    1. OK」をクリックしてから「保存」をクリックして、変更を保存します。
  2. Web サービスのアノテーションのスキャンをオフにします。

    アノテーションのスキャンは、アプリケーション・レベル またはサーバー・レベルでオフにすることができます。

    アプリケーション・レベルでアノテーションのスキャンをオフにするには、 WAR ファイルまたは EJB モジュールの META-INF/MANIFEST.MF 内の DisableIBMJAXWSEngine プロパティーに true を設定します。例:
    Manifest-Version: 1.0
    DisableIBMJAXWSEngine: true

    サーバー・レベルで Web サービスのアノテーションのスキャンをオフにするには、次のようにします。

    1. 管理コンソールで、Java 仮想マシンのカスタム・プロパティーのページに 移動します。

      [z/OS]「サーバー」>「サーバー・タイプ」>「WebSphere Application Server」>server_name」の順でクリックして、「サーバー・インフラストラクチャー」セクションの下で、「Java およびプロセス管理」>「プロセス定義」>「コントロール」>「Java 仮想マシン」>「カスタム・プロパティー」の順でクリックします。

      [AIX Solaris HP-UX Linux Windows][IBM i]「サーバー」>「サーバー・タイプ」>「WebSphere Application Server」>server_name」をクリックし、次に「サーバー・インフラストラクチャー」で「Java およびプロセス管理」>「プロセス定義」>「Java 仮想マシン」>「カスタム・プロパティー」をクリックします。

    2. com.ibm.websphere.webservices.DisableIBMJAXWSEngine プロパティー を true に設定します。

      このプロパティー が構成にまだ存在しない場合、「新規」を クリックし、「名前」フィールドに com.ibm.websphere.webservices.DisableIBMJAXWSEngine を 追加し、「」フィールドに true を指定します。

タスクの結果

次のタスク

  • WebSphere Application Server 上でサード・パーティー JAX-WS 実装を含むアプリケーション EAR ファイルをデプロイし、実行します。

トピックのタイプを示すアイコン タスク・トピック



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