ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド
11g リリース1 (10.3.6)
B61645-05
  目次へ移動
目次

前
 
 

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

この章では、Java API for XML-based RPC (JAX-RPC) WebサービスおよびクライアントをXML-based Web services (JAX-WS)に移行する方法について説明します。

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


注意:

JAX-WSでJAX-RPCの機能がサポートされていない場合があります。この場合は、アプリケーションを再構築しないと移行できません。


次の表に、説明するトピックをまとめます。

表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サービスの最終コンテキスト・ルートの設定

『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のWebLogic 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 WebLogic Server WebLogic Webサービス・リファレンス』のWebLogic固有のアノテーションに関する項を参照してください。

WSDLファイルの生成

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

JAXBカスタム・タイプの使用

JAX-WSでは、Java Architecture for XML Binding (JAXB) (http://jcp.org/en/jsr/detail?id=222を参照)を使用してあらゆるデータ・バインディング・タスクを管理します。アプリケーションでXMLBeanまたはTylarを使用してカスタム・タイプをサポートしている場合、JAXBを使用するようにそれらを変更する必要があります。JAXBを使用する方法の詳細は、第5章「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 WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のSOAPメッセージ・ハンドラの作成と使用に関する項を参照してください。

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

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