ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS を使用した Web サービス入門
11g リリース 1 (10.3.1)
B55565-01
  目次
目次

戻る
戻る
 
 

8 JAX-WS への JAX-RPC Web サービスおよびクライアントの移行

この節では、JAX-RPC の Web サービスおよびクライアントを JAX-WS へ移行するためのヒントを提供します。次の表に、説明するトピックをまとめます。

JAX-RPC Web サービスを移行する場合、JAX-RPC Web サービスを生成するには、WSDL ファイルから、トップダウンのアプローチを使用して元の WSDL ファイルを保存します。詳細については、「WSDL ファイルから開始する WebLogic Web サービスの開発 : 主な手順」を参照してください。


注意 :

WebLogic の信頼性のあるメッセージング、会話形式またはバッファ付きの Web サービスなど、JAX-RPC の機能が JAX-WS でサポートされない場合があります。この場合、アプリケーションは再構築してからでないと移行することはできません。

表 8-1 JAX-RPC の Web サービスおよびクライアントを JAX-WS へ移行するためのヒント

トピック 説明

WebLogic Web サービスの最終コンテキスト ルートの設定


WebLogic Web サービスの最終コンテキスト ルートの設定方法を説明する。JAX-WS では @WLXXXTransport JWS アノテーションの使用がサポートされていない。これらのアノテーションは JAX-RPC でのみサポートされる。

WebLogic 独自のアノテーションの使用


JAX-WS でサポートされる WebLogic 独自のアノテーションについて説明する。

WSDL ファイルの生成


jwsc Ant タスクを使用して JAX-WS Web サービスを生成する際に WSDL ファイルを生成する方法を説明する。

JAXB カスタム タイプの使用


すべてのデータ バインディング タスクを管理するための Java Architecture for XML Binding (JAXB) の使用について説明する。

EJB 3.0 の使用


EJB 2.1 からの EJB 3.0 における変更点について説明する。JAX-WS では EJB 3.0 がサポートされるが、JAX-RPC でサポートされるのは EJB 2.1 のみ。

RPC スタイル SOAP バインディングからの移行


SOAP バインディングを設定するためのガイドラインについて説明する。RPC 形式はサポートされるが、JAX-WS では推奨されない。

SOAP メッセージ ハンドラの更新


JAX-WS への移行時に、現在の JAX-RPC SOAP メッセージ ハンドラを書き直さなければならない点について説明する。

JAX-WS クライアントの呼び出し


JAX-WS クライアントを呼び出すように JAX-RPC クライアントを書き直さなければならない点について説明する。


WebLogic Web サービスの最終コンテキスト ルートの設定

WebLogic Web サービスの最終コンテキスト ルートはさまざまな方法で設定できます。『Oracle Fusion Middleware Oracle WebLogic Server Web サービス リファレンス』の「WebLogic Web サービスの最終コンテキスト ルートの確定方法」を参照してください。

この節で説明するように、JAX-RPC Web サービスを定義する際は、@WLXXXTransport JWS アノテーションを使用してコンテキスト ルートを指定できます。この @WLXXXTransport JWS アノテーションは、JAX-WS Web サービスには無効です。JAX-RPC Web サービスで使用する場合、他の方法の 1 つを使用するためにこのアノテーションを削除して JWS ファイルを更新する必要があります。

WebLogic 独自のアノテーションの使用

JAX-WS では以下の WebLogic 独自のアノテーションがサポートされています。

その他の WebLogic 独自のアノテーションは、JAX-WS への移行時に JAX-RPC アプリケーションからすべて削除する必要があります。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Web サービス リファレンス』の「WebLogic 固有のアノテーション」を参照してください。

WSDL ファイルの生成

JAX-RPC Web サービスで jwsc ファイルを実行すると、指定した出力ディレクトリに WSDL ファイルが生成されます。JAX-WS Web サービスの場合、WSDL ファイルはサービス エンドポイントのデプロイ時に生成されます。WSDL ファイルを出力ディレクトリに生成するには、jwsc Ant タスクの <jws> 子要素で wsdlOnly 属性を指定する必要があります。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Web サービス リファレンス』の「jwsc」を参照してください。

JAXB カスタム タイプの使用

JAX-WS では、Java Architecture for XML Binding (JAXB) (http://jcp.org/en/jsr/detail?id=222 を参照) を使用してあらゆるデータ バインディング タスクを管理します。アプリケーションで XMLBean または Tylar を使用してカスタム タイプをサポートしている場合、JAXB を使用するようにそれらを変更する必要があります。JAXB を使用する方法の詳細については、「JAXB データ バインディングの使用」を参照してください。

EJB 3.0 の使用

JAX-WS では EJB 3.0 がサポートされますが、JAX-RPC では EJB 2.1 しかサポートされません。

EJB 3.0 では、EJB を実装する場合に必要な EJB リモートおよびホーム インタフェース クラスおよびデプロイメント記述子ファイルを、手動で作成するのではなく、自動的に生成することができるメタデータ アノテーションが導入されました。

EJB 3.0 Bean クラス要件および 2.x からの変更点については、『Enterprise JavaBeans (EJB) 3.0』の「Bean ファイルのプログラミング : 要件および 2.X からの変更点」を参照してください。

RPC スタイル SOAP バインディングからの移行

SOAPBinding.Style.RPC スタイルの使用はサポートされていますが、JAX-WS では推奨されません。このスタイルは SOAPBinding.Style.DOCUMENT へ変更するようお勧めします。

SOAP メッセージ ハンドラの更新

SOAP API は似ていますが、JAX-RPC SOAP ハンドラは、JAX-WS で動作するよう変更する必要があります。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS を使用した Web サービスの高度な機能のプログラミング』の「SOAP メッセージ ハンドラの作成と使用」を参照してください。

JAX-WS クライアントの呼び出し

JAX-RPC と JAX-WS のクライアント API は完全に異なるため、JAX-RPC クライアントを書き直す必要があります。JAX-WS クライアントの記述に関する詳細については、『JAX-WS を使用した WebLogic Web サービスの開始』の「Web サービスの呼び出し」を参照してください。