既存の Web サービス記述言語 (WSDL) ファイルを使用して開始するときは、トップダウン・アプローチを使用して、Java™ API for XML-Based Web Services (JAX-WS) プログラミング・モデルに基づいて Web サービスを開発することができます。
始める前に
ベスト・プラクティス: IBM® WebSphere® Application Server は、
Java API for XML-Based Web Services (JAX-WS) プログラミング・モデルおよび Java API for XML-based RPC (JAX-RPC) プログラミング・モデルをサポートします。
JAX-WS は、JAX-RPC プログラミング・モデルが提供する基盤を拡張する、次世代の Web サービス・プログラミング・モデルです。戦略的 JAX-WS プログラミング・モデルを使用すると、標準ベースの注釈モデルのサポートによって、Web サービスおよび Web クライアントの開発が容易になります。JAX-RPC プログラミング・モデルとアプリケーションは引き続きサポートされますが、Web サービス・アプリケーションおよびクライアントを新規に開発する場合は、実装が容易な JAX-WS プログラミング・モデルをご利用ください。best-practices
実装する Web サービスを定義する SCA ファイルを見つけます。
WSDL ファイルを作成するか、あるいは E メール、ダウンロードまたは Uniform Resource
Locator (URL) により既存の Web サービスから取得することができます。
このタスクについて
JAX-WS プログラミング・モデルに基づいて Web サービスを開発するには、
既存の JavaBeans またはエンタープライズ Bean から開始するときにはボトムアップ開発アプローチを使用することができ、
また、既存の Web サービス記述言語 (WSDL) ファイルを使用して開始するときにはトップダウン開発アプローチを使用することができます。このタスクでは、
トップダウン開発アプローチを使用する場合のステップについて説明します。
- JavaBeans を使用する場合の考慮事項
- JAX-WS Web サービスとして公開されている JavaBeans は、HTTP トランスポートを介してのみサポートされます。
- JavaBeans は Contexts and Dependency Injection (CDI) を使用することがあります。コンストラクター注入はサポートされていないことに注意してください。
- エンタープライズ Bean を使用する場合の考慮事項
- エンタープライズ Bean は、ステートレス・セッション Bean または singleton セッション Bean でなければなりません。
- JAX-WS Web サービスとして公開されるエンタープライズ Bean は EJB 3.0 以降のモジュールにパッケージする必要があります。
- エンタープライズ Bean を含む JAX-WS Web サービス・アプリケーションは、
endptEnabler コマンドを使用してデプロイする必要があります。
- エンタープライズ Bean を使用する JAX-WS Web サービスは、
HTTP または Java Message Service (JMS) トランスポートを介してサポートされます。
- エンタープライズ Bean は CDI を使用することがあります。 コンストラクターの注入はサポートされていないことに注意してください。
手順
- Web サービス用の開発環境をセットアップします。 Rational® Application
Developer を使用する場合は、開発環境をセットアップする必要はありません。
- wsimport コマンド行ツールを使用して、
JAX-WS アプリケーション用 Java 成果物
を開発します。 wsimport ツールによって、WSDL ファイルが処理され、
Web サービスの作成に使用される移植可能な Java 成果物が生成されます。
- (オプション) JAX-WS Web サービスのために MTOM を使用できるようにします。 SOAP Message Transmission Optimization Mechanism (MTOM) を使用すると、Web サービス要求とともにイメージやファイルなどの
バイナリー添付を伝送する作業を最適化することができます。
- (オプション) JAX-WS Web サービスで WSDL バインディングを順守します。 RespectBindingFeature を使用して、JAX-WS 実装が、
エンドポイントに関連付けられている wsdl:binding の内容を順守する必要があるかどうかを制御できます。
- (オプション) JAX-WS アプリケーション用の webservices.xml
デプロイメント記述子を開発および構成します。 オプションで、webservices.xml デプロイメント記述子を使用すると、
JAX-WS Web サービス内のアノテーションに指定されたアプリケーションのメタデータを
拡張またはオーバーライドすることができます。
- Web サービス・アプリケーションの実装を完了します。
- (オプション) web.xml ファイルで URL パターンをカスタマイズします。 JavaBeans が
JAX-WS エンドポイントとして公開される場合、オプションで、Web アプリケーション・アーカイブ (WAR) ファイルにある web.xml デプロイメント記述子の
URL パターンをカスタマイズすることができます。
- Web サービス用の成果物をアセンブルします。
- EAR ファイルをアプリケーション・サーバーにデプロイします。 ここで、Web サービス用に構成されて有効になっている EAR ファイルを
アプリケーション・サーバーにデプロイすることができます。
- Web サービスをテストして、
このサービスがアプリケーション・サーバーと連動することを確認します。
タスクの結果
既存の WSDL ファイルから開始して、JAX-WS Web サービスが開発されました。