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 サービスに変換するために必要なアクションを示しています。
図 1 は、WSDL を、クライアント・アプリケーションが呼び出すことができる一連の C++ クライアント・スタブに変換する最初のステップを示しています。
図 2 に示すように、クライアント・アプリケーションは、スタブ内のサービスに関するメソッドを呼び出します。このメソッドは、AxisClient ライブラリーのいくつかの基盤となるメソッドを呼び出します。これにより、サーバーと通信する SOAP メッセージが生成されます。