WebSphere Web Services Client for C++, Version 1.0.1 オペレーティング・システム: Linux, Windows

クライアントの作成およびデプロイメント

Web Services Client for C++ では、クライアントと Web サービス・サーバー間のメッセージ送信を管理することができます。

Web サービスは、WSDL と呼ばれるファイルを基にしています。このファイルは、インターネット上の特定の場所で使用可能なサービスに関連したすべての情報が格納されている XML ファイルです。WSDL は、最も単純なレベルで要求メッセージと応答メッセージのペアを詳細に記述し、Web サービス に関連したすべての情報を含んでいます。Web Services Client for C++ パッケージは、Java プログラムである WSDL2Ws ツールを備えています。 このツールを使用すると、WSDL を、ユーザーが呼び出したり、情報を渡したりすることができる一連の C++ スタブやデータ・オブジェクトに変換することができます。これによって、サーバーから情報を要求し、対応する応答を待ってから、応答データ・オブジェクトをクライアントに戻すことができます。スタブは、アプリケーション作成者からインターネット通信を隠します。ユーザーが認識する必要があるのは、サービスの名前、サービスに含まれるメソッド、および渡されるデータ・オブジェクトの構造だけです。

Web Services Client for C++を使用するには、次の 2 つの異なる方法があります。

この 2 つの方法はどちらも有効に機能しますが、2 つ目の方法では、クライアント・アプリケーションの作成者が 1 つ目より API やクライアントとサーバー間の通信プロトコルをより強く意識する必要があるため、この方法はお勧めできません。また、変更が必要な場合、作成者がコードに手動で変更を加える必要がありますが、これはエラーの発生しやすい作業です。お勧めする実装は、メッセージとそれに関連した XSD を記述した後、WSDL2Ws ツールを使用してスタブを生成する WSDL の使用法です。

次の 3 つの図は、Web Services Client for C++のこの推奨される実装を使用して、WSDL を Web サービスに変換するために必要なアクションを示しています。

WSDL ソース・ファイルからのクライアント・スタブの生成

図 1 は、WSDL を、クライアント・アプリケーションが呼び出すことができる一連の C++ クライアント・スタブに変換する最初のステップを示しています。

図 1. WSDL ソース・ファイルと C++ スタブ間のプロセスの流れ
この図は、WSDL を Web サービスに変換するプロセスの最初のステップを示しています。WSDL ソース・ファイルと C++ スタブ間のプロセスの流れと、WSDL がスタブを生成する WSDL2Ws ツールに渡される様子を示しています。

クライアントおよびサーバー・アプリケーション間の通信

図 2 に示すように、クライアント・アプリケーションは、スタブ内のサービスに関するメソッドを呼び出します。このメソッドは、AxisClient ライブラリーのいくつかの基盤となるメソッドを呼び出します。これにより、サーバーと通信する SOAP メッセージが生成されます。

図 2. WSDL2Ws によって生成されるスタブを使用した、クライアント・アプリケーションとサーバー・アプリケーション間のプロセスの流れ
この図は、WSDL ソース・ファイルを Web サービスに変換するプロセスの 2番目のステップを示しています。生成された C++ スタブを使用したクライアント・アプリケーションとサーバー・アプリケーション間のプロセスの流れを示しています。クライアント・アプリケーションは、スタブ内のサービスに関するメソッドを呼び出します。この後、このメソッドが AxisClient ライブラリー内のいくつかの基盤となるメソッドを呼び出し、サーバーと通信する SOAP メッセージを生成します。

Web サービス・ハンドラーの追加

AxisClient ライブラリーには、Web サービス・ハンドラーを追加することができます。これにより、その後の SOAP メッセージの処理を、SOAP メッセージがサーバーに送信される前、または対応する応答がサーバーから受信された後に実行できるようにします。Web Service Deployment Descriptor (WSDD) ファイルが、ハンドラーの使用法を制御します。図 3 は、図 2 に変更を加えた図で、ハンドラーがどのように AxisClient ライブラリーにフックするかを示しています。

図 3. 生成されたスタブと、要求ハンドラーおよび応答ハンドラーを使用した、クライアント・アプリケーションとサーバー・アプリケーション間のプロセスの流れ
この図は、WSDL を Web サービスに変換するプロセスの 3 番目のステップを示しています。要求ハンドラーおよび応答ハンドラーを AxisClient ライブラリーにフックしたときの、クライアント・アプリケーションとサーバー・アプリケーション間のプロセスの流れを示しています。
ハンドラーの定義は、WSDD ファイルに指定されます。


Concept topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 12 Jun 2006
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)