Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド 11g リリース1 (10.3.6) B61645-05 |
|
前 |
この章では、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でのみサポートされます。 |
|
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クライアントを書き直さなければならない点について説明します。 |
『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のWebLogic Webサービスの最終コンテキスト・ルートの確定方法に関する項で説明しているように、WebLogic 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を使用する方法の詳細は、第5章「JAXBデータ・バインディングの使用」を参照してください。
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からの変更点」を参照してください。
SOAPBinding.Style.RPCスタイルの使用はサポートされていますが、JAX-WSでは推奨されません。このスタイルはSOAPBinding.Style.DOCUMENTへ変更するようお薦めします。
SOAP APIは似ていますが、JAX-RPC SOAPハンドラは、JAX-WSで動作するよう変更する必要があります。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング』のSOAPメッセージ・ハンドラの作成と使用に関する項を参照してください。
JAX-RPCとJAX-WSのクライアントAPIは完全に異なるため、JAX-RPCクライアントを書き直す必要があります。JAX-WSクライアントの記述に関する詳細は、『JAX-WSを使用したWebLogic Webサービスの開始』の「Webサービスの呼出し」を参照してください。