JAX-RPC Webサービスを移行する場合、JAX-RPC Webサービスを生成するには、WSDLファイルから、トップダウンのアプローチを使用して元のWSDLファイルを保存します。詳細は、WSDLファイルから開始するWebLogic Webサービスの開発: 主な手順を参照してください。
注意:
JAX-WSでJAX-RPCの機能がサポートされていない場合があります。この場合は、アプリケーションを再構築しないと移行できません。
次の表に、説明するトピックをまとめます。
表C-1 JAX-RPCのWebサービスおよびクライアントをJAX-WSへ移行するためのヒント
トピック | 説明 |
---|---|
WebLogic Webサービスの最終コンテキスト・ルートの設定方法を説明します。JAX-WSでは@WLXXXTransport JWSアノテーションの使用がサポートされていません。これらのアノテーションはJAX-RPCでのみサポートされます。 |
|
JAX-WSでサポートされるWebLogic独自のアノテーションについて説明します。 |
|
jwsc Antタスクを使用してJAX-WS Webサービスを生成する際にWSDLファイルを生成する方法を説明します。 |
|
すべてのデータ・バインディング・タスクを管理するためのJava Architecture for XML Binding (JAXB)の使用について説明します。 |
|
EJB 2.1からのEJB 3.0における変更点について説明します。JAX-WSはEJB 3.0をサポートします。JAX-RPCはEJB 2.1のみをサポートします。 |
|
SOAPバインディングを設定するためのガイドラインについて説明します。RPC形式はサポートされますが、JAX-WSでは推奨されません。 |
|
JAX-WSへの移行時に、現在のJAX-RPC SOAPメッセージ・ハンドラを書き直さなければならない点について説明します。 |
|
JAX-WSクライアントを呼び出すようにJAX-RPCクライアントを書き直さなければならない点について説明します。 |
WebLogic Webサービスの最終的なコンテキスト・ルートは、様々な方法で設定できます。『Oracle WebLogic Server JAX-RPC Webサービスの開発』のWebサービスの呼出しに使用されるトランスポートの指定に関する項を参照してください。
この項で説明するように、JAX-RPC Webサービスを定義する際は、@WLXXXTransport JWSアノテーションを使用してコンテキスト・ルートを指定できます。この@WLXXXTransport JWSアノテーションは、JAX-WS Webサービスには無効です。JAX-RPC Webサービスで使用する場合、他の方法の1つを使用するためにこのアノテーションを削除してJWSファイルを更新する必要があります。
JAX-WSでは以下のWebLogic独自のアノテーションがサポートされています。
@Policy
@Policies
@SecurityPolicy
@SecurityPolicies
@WssConfiguration
その他のWebLogic固有のアノテーションは、JAX-WSへの移行時にJAX-RPCアプリケーションからすべて削除する必要があります。詳細は、『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のWebLogic固有のアノテーションに関する項を参照してください。
JAX-RPC Webサービスでjwscファイルを実行すると、指定した出力ディレクトリにWSDLファイルが生成されます。JAX-WS Webサービスの場合、WSDLファイルはサービス・エンドポイントのデプロイ時に生成されます。WSDLファイルを出力ディレクトリに生成するには、jwsc Antタスクの<jws子要素でwsdlOnly属性を指定する必要があります。詳細は、『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のjwscに関する項を参照してください。
JAX-WSでは、Java Architecture for XML Binding (JAXB) (http://jcp.org/en/jsr/detail?id=222
を参照)を使用してあらゆるデータ・バインディング・タスクを管理します。アプリケーションでXMLBeanまたはTylarを使用してカスタム・タイプをサポートしている場合、JAXBを使用するようにそれらを変更する必要があります。JAXBを使用する方法の詳細は、JAXBデータ・バインディングの使用を参照してください。
JAX-WSはEJB 3.0をサポートします。JAX-RPCはEJB 2.1のみをサポートします。
EJB 3.0では、EJBを実装する場合に必要なEJBリモートおよびホーム・インタフェース・クラスおよびデプロイメント記述子ファイルを、手動で作成するのではなく、自動的に生成することができるメタデータ・アノテーションが導入されました。
EJB 3.0 Beanクラス要件および2.xからの変更点については、『Oracle WebLogic Server Enterprise JavaBeansの開発』のBeanファイルのプログラミング: 要件および2.Xからの変更点に関する項を参照してください。
SOAPBinding.Style.RPCスタイルの使用はサポートされていますが、JAX-WSでは推奨されません。このスタイルはSOAPBinding.Style.DOCUMENTへ変更するようお薦めします。
SOAP APIは似ていますが、JAX-RPC SOAPハンドラは、JAX-WSで動作するよう変更する必要があります。詳細は、SOAPヘッダーの送受信を参照してください。