プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverのアップグレード
12c (12.2.1.2.0)
E82833-02
目次へ移動
目次

前
前へ
次
次へ

4 WebLogic Webサービスのアップグレード

次の項では、WebLogic Server 10.xからWebLogic Server 12.2.x リリースへのWebLogicおよびRESTful Webサービスのアップグレード手順について説明します。また、8.1のWebLogic Webサービスを12.2.x WebLogic JAX-WS Webサービスにアップグレードする方法も説明します。

この章の内容は次のとおりです。

注意:

関連するWebサービス・ランタイムはこのリリースでもサポートされるため、10.3.xのWebLogic Webサービス(JAX-WSまたはJAX-RPC)は変更しなくてもバージョン12.2.xのWebLogic Serverで引き続き実行できますが、対象のWebサービス・ランタイムは非推奨になっており、今後のリリースの製品からは削除される予定です。このため、この章の説明に従って、10.3.xのWebサービスを12.2.xにアップグレードすることをお薦めします。

JAX-RPC APIは、12.2.xから非推奨となり、今後のリリースで削除される予定です。JAX-RPCスタックへのアップグレードはお薦めしません。

10.3.xのRESTful Webサービス(JAX-RS)の12.2.xへのアップグレード

10.3.xでは、RESTful Webサービス(JAX-RS)参照実装(RI)のJersey 1.9および1.1.5.1 Java APIをサポートするために、一連の事前構築済共有ライブラリがWebLogic Serverに付属しています。共有ライブラリを使用するためには、WebLogic Serverインスタンスにそのライブラリを登録し、Jerseyサーブレットを使用して共有ライブラリを参照するためにweb.xmlおよびweblogic.xmlのデプロイメント記述子をそれぞれ変更する必要があります。

WebLogic Serverの12.2.xリリースでは、デフォルトでJersey 2.21.x (JAX-RS 2.0 RI)がサポートされています。共有ライブラリとしてのWebLogic Serverへの登録は不要になりました。

Jersey 2.21.x (JAX-RS 2.0 RI)を使用するには、次のように、10.3.x RESTful Webサービス・アプリケーションを変更する必要があります。

  1. Jersey 2.xコンテナを参照するように、アプリケーションのデプロイメント・ディスクリプタを更新します。詳細は、Jersey 2.21 User GuideServlet-based Deploymentを参照してください。

    注意:

    下位互換性のため、次の例に示すようにcom.sun.jersey.spi.container.servlet.ServletContainerへの参照を引き続き指定できます。ただし、推奨されるのは、かわりにJersey 2.xコンテナを参照するように、アプリケーションのデプロイメント・ディスクリプタを更新することです。

    たとえば、次の<web-app>コンテンツで、com.sun.jersey.spi.container.servlet.ServletContainerorg.glassfish.jersey.servlet.ServletContainerに置き換えます。

    <web-app>
        <servlet>
            <display-name>My Jersey Application</display-name>
            <servlet-name>MyJerseyApp</servlet-name>
            <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
            <init-param>
                <param-name>javax.ws.rs.Application</param-name>
                <param-value>myPackage.myJerseyApplication</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>MyJerseyApp</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
    </web-app>
    

    追加の詳細な構成オプションについては、『Jersey 2.21.1 User Guide』を参照してください。

  2. 該当する場合、Jersey 1.xサーバーAPIを使用するすべてのアプリケーションを更新して、対応する標準JAX-RS 2.0またはJersey 2.x APIをかわりに使用します。Jersey 1.x (JAX-RS 1.1 RI) サーバー APIのサポートはこのリリースで削除されたため、それらを参照するアプリケーションは機能しなくなります。
  3. 『Oracle WebLogic Server RESTful Webサービスの開発と保護』の「RESTful Webサービス・クライアントの開発」の説明に従って、javax.ws.rs.client APIを使用するようにクライアントを更新します。

    注意:

    Jersey 1.18クライアント・パッケージ(com.sun.jerseyパッケージとそのネスト・パッケージ、およびweblogic.jaxrs.api.clientパッケージなど)のサポートは、WebLogic Serverのこのリリースで非推奨になりましたが、後方互換性のために維持されています。ただし、多くのFusion Middlewareコンポーネント(Oracle Web Services Managerなど)は標準JAX-RS 2.0クライアントAPIに移行したため、Jersey 1.x JAX-RSクライアントAPIと互換性がありません。したがって、できるだけ早く、標準JAX-RS 2.0 APIを使用するようにRESTfulクライアント・アプリケーションを更新することをお薦めします。

    Jersey 1.x JAX-RS RIクライアントAPIは、Jersey 2.x (JAX-RS 2.0 RI)と互換性がありません。

10.xのWebLogic Webサービス(JAX-WS)の12.2.xへのアップグレード

10.x WebLogic Webサービスを12.2.xへアップグレードするために必要な手順はありません。JAX-WSのWebサービスは、変更や再コンパイルを行わずにWebLogic Server 12.2.xへ再デプロイすることができます。

8.1のWebLogic WebサービスのWebLogic JAX-WSスタックへのアップグレード

8.1 WebLogic Webサービス・ランタイムは12.1.2リリースで削除されました。8.1 WebLogic Webサービスを使用している場合、8.1 WebLogic Webサービス・アプリケーションをJAX-WS (Java API for XML-Based Web Services)スタックにアップグレードする必要があります。8.1 WebLogic Webサービスは、SOAPペイロード内のXML要素をJavaオブジェクト内にマッピングする(その逆もまた同様)ため、Apache XMLBeansに依存します。XMLBeansは12.1.2以降ではサポートされていません。

注意:

12.2.1.2.0にアップグレードするに、現在のWebLogic Serverリリースで8.1 WebサービスからJAX-WSへアップグレードします。12.2.1.2.0にアップグレードすると、8.1 Webサービスは機能しなくなります。

JAX-WSスタックにアップグレードすると、WebLogic Serverの最新のテクノロジと標準のサポートを利用できます。このパスには手作業によるアップグレード・プロセスが必要であり、作業レベルは既存の8.1 Webサービス・アプリケーションの性質によります。たとえば、アプリケーションでXMLBeansをほとんど使用しない場合、アップグレード・プロセスは比較的容易なものになります。XMLBeansの依存性が高い8.1 Webサービス・アプリケーションの場合、XMLBeansクラスのかわりにJAXBクラスを使用するにはサービス実装のビジネス・ロジックを変更する必要があります。JAX-WSは、RPCエンコード・スタイルをサポートしていません。RPCエンコード・スタイルの8.1 Web Serviceアプリケーションは、より相互運用性の高いリテラル・スタイルのサービス規定に対応することが必要になります。

WebLogic JAX-WSのランタイムは、JAX-WS 2.2仕様とWeb Services for Java EE v1.3 (JSR 109)仕様に基づいています。これらはWebサービスの定義にJava Web Service (JWS)ソース・ファイルで使用されるアノテーションを定義します。Antタスクが次に使用されてJWSがJavaクラスにコンパイルされ、すべての関連するアーティファクトが生成されます。Java Webサービス(JWS)は、JAX-WS Webサービスの中核部分です。

8.1 Webサービスのアップグレードには次の高レベル・タスクが含まれます。

  • WebサービスEJBの2.xから3.xへのアップグレード。

    JAX-WSはEJB 3.0および3.xをサポートします。EJB 2.xはサポートしません。

  • 8.1 Webサービス・クラスをJAX-WS JWSファイルとして書き換えて、8.x固有の機能を類似したJAX-WS機能にマッピングします。

    8.1 Webサービス機能とJAX-WS 12.1.x機能の間に1対1で対応するものはありません。

  • WebサービスをビルドするAntビルド・スクリプトを、8.1のservicegenタスクではなく12.1.xのWebLogic WebサービスAntタスクjwscを呼び出すように更新します。

  • JAX-WS clientgen Antタスクを使用して新規のJAX-WSクライアントを生成します。

JAX-WSのアップグレードに関する考慮事項

JAX-WSにアップグレードする前に、次の点を考慮してください。

  • JAX-WS仕様はdocument-literalおよびrpc-literal形式をサポートしていますが、rpc-encodedはサポートしていません。

  • JAX-WS仕様は、SOAP配列をサポートしていません。

JAX-WSの詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』を参照してください。

WebLogic JAX-RPC WebサービスのWebLogic JAX-WSスタックへのアップグレード

WebLogic JAX-WSのランタイムは、JAX-WS (The Java API for XML-Based Web Services) 2.2仕様とWeb Services for Java EE v1.3 (JSR 109)仕様に基づいています。JAX-WS 2.0から、JavaプラットフォームおよびWebLogic ServerにおいてJAX-WSテクノロジがJAX-RPCに取って替わりました。WebLogicアプリケーションのJAX-RPC Webサービスは、JAX-WSにアップグレードする必要があります。

この項では、WebLogic JAX-WSスタックを使用するようにWebLogic JAX-RPC Webサービスをアップグレードする方法を説明します。

WebLogic Server JAX-RPC Webサービスのアップグレードには主に次のタスクが含まれます。

  • WebサービスEJBの2.xから3.xへのアップグレード。

    JAX-WSはEJB 3.0および3.xをサポートします。EJB 2.xはサポートしません。

  • JWSをアップグレードし、JAX-RPC固有の機能を類似のJAX-WS機能にマップします。

    WebLogic JAX-RPC Webサービス機能とJAX-WS 12.x機能の間に1対1で対応するものはありません。

  • WebサービスをビルドするAntビルド・スクリプトを更新して、jwswsdlcおよびclientgenタスクのtype属性の値を"JAXWS" (たとえば、type="JAXWS")に変更します。

  • JAX-WS clientgen Antタスクを使用して新規のJAX-WSクライアントを生成します。

JAX-WSのアップグレードに関する考慮事項

JAX-WSにアップグレードする際、次の点を考慮してください。

  • JAX-WS仕様はdocument-literalおよびrpc-literal形式をサポートしていますが、rpc-encodedはサポートしていません。

  • SOAP配列はJAX-WSではサポートされません。

JAX-WSの詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』を参照してください