Web Services
for Java 2 Platform, Enterprise Edition (J2EE) 仕様と、サポートされる Web サービス開発プログラミング・モデルに基づいて Web サービス・クライアントを開発できます。
このタスクについて
Web サービス・クライアント・プログラミング・モデルは、
J2EE 環境での Web サービスのアクセスに対するガイドラインを提供します。Web サービスは、Web Services
for Java 2 Platform, Enterprise Edition (J2EE) 仕様、および Java
API for XML-based remote procedure call (JAX-RPC) の仕様に基づいて開発できます。アプリケーション・サーバーは、次の 2 つのタイプの 基本 JAX-RPC Web サービス・クライアントをサポートします。
- 管理対象クライアント
J2EE 用 Web サービスのクライアントは Java Specification
Requirements (JSR) 109 により定義され、管理対象クライアントと呼ばれます。これは、これらのクライアントが J2EE コンテナー内で稼働するためです。
これらのクライアントは、エンタープライズ・アーカイブ (EAR) ファイルとしてパッケージされており、サービス要求元として動作するコンポーネントが含まれています。
こうしたコンポーネントは J2EE クライアント・アプリケーションであっても、サーブレットや JavaServer Pages (JSP) のような Web コンポーネントであっても、またはセッション Enterprise JavaBeans (EJB) であってもかまいません。
Web サービスの管理対象クライアントでは JSR 109 API とデプロイメント情報を使用して Web サービスを検索し、呼び出します。
- 管理対象外クライアント
J2EE コンテナー内で稼働せずに、JAX-RPC ランタイムを使用して
Web サービスを呼び出す J2SE クライアントは、管理対象外クライアントと呼ばれます。
Web サービスの管理対象外クライアントは、WSDL ファイルを直接検査し、JAX-RPC API を直接使用して Web サービスの呼び出しを作成することができる、独立型の Java クライアントです。これらのクライアントは、どのようなデプロイメント情報も含まない JAR ファイルとしてパッケージされます。
Java アプリケーションが Web サービス・クライアントとして機能するためには、
Web サービス記述言語 (WSDL)
ファイルと Java アプリケーションとの間のマッピングが存在しなければなりません。
このマッピングは、Java API for XML-based RPC (JAX-RPC) 仕様によって定義されます。
Java コンポーネントを使用して、
コンポーネントのインターフェースとバインディング情報を WSDL ファイル内に指定し、
サービス要求を受け入れるようにアプリケーション・サーバー・インフラストラクチャーを設計する
ことにより、Web サービスをインプリメントできます。
このプロセス全体は、Web Services for J2EE 仕様に基づいています。JAX-RPC 仕様では、WSDL ファイル、Java コード、および XML スキーマのタイプ間のマッピングが定義されます。
プロシージャー
- アクセスする Web サービス用の Web サービス記述言語 (WSDL) ファイルを取得します。
WSDL ファイルは、E メールか Uniform Resource Locator (URL) を使用してサービス・プロバイダーから
取得するか、Universal Description, Discovery and Integration (UDDI) レジストリーで検索して取得できます。
- WSDL ファイルからクライアント・バインディングを開発します。
クライアント・バインディングを開発するには、
WSDL ファイルに対して WSDL2Java コマンド行ツールを実行します。
サービス・エンドポイント・インターフェースやインプリメンテーション、生成されるサービス・インターフェース、ibm-webservicesclient-bnd.xmi、および ibm-webservicesclient-ext.xmi デプロイメント記述子など、Web サービスを呼び出すのに必要な情報が生成されます。
- クライアント・インプリメンテーションを完了します。
Web サービスの呼び出しに使用されるクライアント・アプリケーション・コードを作成します。
JSR 109 仕様の第 4 章を参照してください。
この仕様には、『
Web サービス: 学習用リソース』からアクセスできます。
注: アプリケーションが JSR 109 クライアントに複数のスレッドを作成する場合、メタデータ (WebSphere Application Server 構成を含む) はスレッドにコピーされず、Global Security Handler は呼び出されません。
サンプル・ギャラリーで入手できる WebServicesSamples アプリケーションにある GetQuote クライアントを参照することもできます。
- (オプション) Web サービス対応クライアント Java アーカイブ (JAR) ファイルを
エンタープライズ・アーカイブ (EAR) ファイルにアセンブルします。 J2EE クライアント・コンテナーで実行される管理対象クライアントを開発している場合は、このステップを実行します。
- (オプション) Web サービス対応クライアント Web アーカイブ (WAR) ファイルをエンタープライズ・アーカイブ (EAR) ファイルにアセンブルします。 J2EE クライアント・コンテナーで実行される管理対象クライアントを開発している場合は、このステップを実行します。
- (オプション) クライアント・デプロイメント記述子を構成します。 J2EE クライアント・コンテナーで実行される管理対象クライアントを開発している場合は、このステップを実行します。
- (オプション) Web サービス・アプリケーションをデプロイします。
J2EE クライアント・コンテナーで実行される管理対象クライアントをデプロイする場合には、このステップを実行してください。
- Web サービス対応
クライアント・アプリケーションをテストします。
管理対象外クライアント JAR ファイルまたは管理対象クライアント・アプリケーション
をテストできます。
結果
Web サービス・クライアント・アプリケーションの作成とテストが完了しました。
次の作業
Web サービス・アプリケーション・クライアントを開発し、そのクライアントが静的にバインドされた後、
インプリメンテーションで使用されるサービス・エンドポイントは、開発プロセス中に使用した WSDL ファイルで識別されるものとなります。
Web サービス・アプリケーションのインストール中、またはインストール後に、
サービス・エンドポイントの変更が必要になる場合があります。
エンドポイントは、管理コンソールまたは wsadmin スクリプト・ツールを使用して変更できます。