C JAX-WSへのJAX-RPC Webサービスおよびクライアントの移行
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サービスの最終コンテキスト・ルートの設定
WebLogic Webサービスの最終的なコンテキスト・ルートは、様々な方法で設定できます。のWebサービスの呼出しに使用されるトランスポートの指定に関する項を参照してください。
この項で説明するように、JAX-RPC Webサービスを定義する際は、@WLXXXTransport JWSアノテーションを使用してコンテキスト・ルートを指定できます。この@WLXXXTransport JWSアノテーションは、JAX-WS Webサービスには無効です。JAX-RPC Webサービスで使用する場合、他の方法の1つを使用するためにこのアノテーションを削除してJWSファイルを更新する必要があります。
WebLogic独自のアノテーションの使用
JAX-WSでは以下のWebLogic独自のアノテーションがサポートされています。
-
@Policy
-
@Policies
-
@SecurityPolicy
-
@SecurityPolicies
-
@WssConfiguration
その他の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を使用する方法の詳細は、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からの変更点については、Oracle WebLogic Server Enterprise JavaBeansの開発のBeanファイルのプログラミング: 要件および2.Xからの変更点を参照してください。
RPCスタイルSOAPバインディングからの移行
SOAPBinding.Style.RPCスタイルの使用はサポートされていますが、JAX-WSでは推奨されません。このスタイルはSOAPBinding.Style.DOCUMENTへ変更するようお薦めします。
SOAPメッセージ・ハンドラの更新
SOAP APIは似ていますが、JAX-RPC SOAPハンドラは、JAX-WSで動作するよう変更する必要があります。詳細は、SOAPヘッダーの送受信を参照してください。
JAX-WSクライアントの呼出し
JAX-RPCとJAX-WSのクライアントAPIは完全に異なるため、JAX-RPCクライアントを書き直す必要があります。JAX-WSクライアントの開発の詳細は、Oracle WebLogic Server JAX-WS Webサービスの開発のWebサービス・クライアントの開発を参照してください。