Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

SOAP と Web サービスについて

InterSystems IRIS® は SOAP 1.1 および 1.2 (Simple Object Access Protocol) をサポートします。このサポートは、使いやすく、効率的で、SOAP 仕様と完全な互換性があります。このサポートは InterSystems IRIS に組み込まれており、InterSystems IRIS がサポートするすべてのプラットフォームで利用できます。InterSystems IRIS SOAP サポートを使用すると、以下のことができます。

  • プロダクションに Web サービスを追加し、プロダクションに SOAP 対応のフロント・エンドを提供します。クライアント・アプリケーションは、SOAP プロトコルを使用して、このプロダクション Web サービスを呼び出すことができます。他の SOAP 対応のアプリケーションから、このようなメソッドを検索して呼び出すことができます。InterSystems IRIS は、データベース内で直接 SOAP メソッドを実行するため、非常に効率的に実行できます。

  • プロダクションに Web クライアントを追加します。使用したい Web サービスの WSDL ドキュメントがある場合は、ツールを使用してビジネス・オペレーションやプロキシ・クライアント・クラスを生成できます。InterSystems IRIS Web クライアントは、InterSystems IRIS SOAP 送信アダプタおよび生成されたプロキシ・クライアント・クラスを介して、外部の Web サービスを呼び出します。

SOAP および Web サービスでインターシステムズ製品がサポートする特定の基準 (WSDL 制限など) については、"Web サービスおよび Web クライアントの作成" を参照してください。

InterSystems IRIS による Web サービスのサポート

プロダクション用に SOAP 対応のフロント・エンドを提供できます。そのためには、Web サービスでありビジネス・サービスでもある、プロダクション Web サービスを作成します。内部的には、通常 Web メソッドが SOAP 要求メッセージを受信し、それらを使用してプロダクション内で必要とされる要求メッセージを作成および送信します。次に応答メッセージを受信し、それらを使用して SOAP 応答メッセージを作成します。

SOAP request from outside production goes to web service which sends it to other production components and then returns their

プロダクション Web サービスを作成するために、InterSystems IRIS には、%SOAP および %XML パッケージに基本プロダクション Web サービス・クラス (EnsLib.SOAP.ServiceOpens in a new tab)、およびサポート・クラスが用意されています。

InterSystems IRIS は、強力な Web サービスの組み込みサポートを提供します。基本プロダクション Web サービス・クラスは、以下のことを実行できます。

  • 受信 SOAP メッセージを検証します。

  • SOAP メッセージを解凍し、InterSystems IRIS 表記にデータを変換し、要求メッセージをプロダクション内の宛先に送信する対応メソッドを呼び出します。

  • メソッドを実行します。

  • 応答メッセージを受信し、応答メッセージ (SOAP メッセージ) を作成して呼び出し側に返信します。

SOAP 仕様には、セッション・サポートは含まれていません。ただし、Web クライアントと使用する Web サービスとの間でセッションを維持することが有用な場合がよくあります。プロダクション Web サービスを使用して、これを行うことができます。Web サービスがセッションを使用する場合、セッション ID が確立され、クライアントからの呼び出しが一度正しく認証されると、その後はサービスに対する繰り返しの呼び出しが許可されます。

また、プロダクション Web サービス・クラスは、任意のビジネス・サービスの完全な機能を提供します。

Note:

プロダクション Web サービスを作成する際にプロダクション・アダプタは使用しません。

InterSystems IRIS による Web クライアントのサポート

プロダクション内から外部の Web サービスを呼び出すことができます。そのために、InterSystems IRIS Web クライアントを作成します。

components in production send requests to web client which sends it to an external web service then the web client returns th

高レベルで、InterSystems IRIS Web クライアントは InterSystems IRIS 要求を受信し、SOAP 要求に変換して適切な Web サービスに送信します。同様に、SOAP 応答を受信して InterSystems IRIS 応答に変換します。

InterSystems IRIS Web クライアントは、以下の要素で構成され、その要素のすべてが SOAP ウィザードを使用してスタジオ内で生成できます。

  • プロキシ・クライアント・クラス。Web サービスによって定義される各メソッドに対してプロキシ・メソッドを定義します。プロキシ・クライアントの目的は、Web サービスの場所を指定し、プロキシ・メソッドを保持することです。各プロキシ・メソッドは、対応する Web サービス・メソッドが使用するものと同じシグニチャを使用し、要求に応じてそのメソッドを呼び出します。

  • ビジネス・オペレーション。InterSystems IRIS SOAP 送信アダプタを使用して、プロキシ・メソッドを呼び出します。

  • サポート・クラス。XML タイプおよびプロダクション・メッセージの定義に必要となります。

SOAP ウィザード

これらの各要素を理解するには、これらがどのように生成されるかを考慮することが有用です。まず、SOAP ウィザードを使用するときに、対象となる Web サービスの WSDL の URL を入力します。ウィザードが WSDL を読み取り、一連のクラスを生成します。

SOAP client wizard reads external WSDL file and generates classes

プロキシ・クライアント

生成されたクラスには、Web サービスの各メソッドに対してプロキシ・メソッドを定義する、プロキシ・クライアント・クラスが含まれます。各プロキシ・メソッドは、Web サービスに SOAP 要求を送信し、対応する SOAP 応答を受信します。

proxy client classes send SOAP messages to external web service methods

図のように、生成されたクラスには、メソッドの入力や出力に必要な XML タイプを定義するクラスも含まれます。

InterSystems IRIS Web クライアントのビジネス・オペレーション

このウィザードでは、プロキシ・クライアントを呼び出すビジネス・オペレーション・クラス、および必要に応じてメッセージ・タイプを定義するクラスを生成することもできます。以下の図は、これらのクラスが機能するしくみについて示しています。

operation calls InvokeMethod in SOAP outbound adapter which calls the specified method using the proxy class this happens onl

点線で示されたクラスおよびメソッドは、すべて SOAP ウィザードによって生成されます。

ビジネス・オペレーションは、SOAP 送信アダプタを使用します。SOAP 送信アダプタは、便利な実行時設定および汎用メソッド InvokeMethod() を提供します。プロキシ・クライアント・クラスのプロキシ・メソッドを呼び出すために、ビジネス・オペレーション・クラスは InvokeMethod() を呼び出し、実行するメソッド名および任意の引数を渡します。次に、InvokeMethod() がプロキシ・クライアント・クラスのメソッドを呼び出します。

FeedbackOpens in a new tab