SOAP を使用した接続の指定

提供: RAD Studio
移動先: 案内検索

アプリケーション サーバーへの接続 への移動


SOAP アプリケーション サーバーへの接続を確立するには、Soap.SOAPConn.TSoapConnection コンポーネントを使用します。TSoapConnectionTWebConnection とよく似ています。これもまた、HTTP をトランスポート プロトコルとして使用しているからです。そのため、TCP/IP アドレスを持っているどのようなマシンからも TSoapConnection を使用することができます。この接続では、SSL セキュリティを利用でき、ファイアウォールで保護されたサーバーと通信できます。

SOAP 接続コンポーネントでは、IAppServerSOAP インターフェイスまたは IAppServer インターフェイスを実装する Web サービス プロバイダへの接続を確立します。なお、UseSOAPAdapter プロパティは、サーバーでサポートされていると思われるインターフェイスを指定します。サーバーが IAppServerSOAP インターフェイスを実装している場合、TSoapConnection では、このインターフェイスをクライアント データセット用の IAppServer インターフェイスに変換します。TSoapConnection では、URL(Uniform Resource Locator)を使って Web サーバー アプリケーションを見つけます。URL では、プロトコル(http、SSL セキュリティを使用している場合は https)、Web サーバーが稼働しているマシンのホスト名、Web サービス アプリケーションの名前、アプリケーション サーバー上の THTTPSoapDispatcher のパス名と一致するパスを指定します。この値は、URL プロパティを使って指定します。

デフォルトでは、TSOAPConnectionIAppServerSOAP(または IAppServer)インターフェイスを自動的に探します。サーバーに複数のリモート データ モジュールが含まれている場合は、使用するリモート データ モジュールを TSOAPConnection が識別できるように、ターゲット データ モジュールのインターフェイス(IAppServerSOAP の下位インターフェイス)を指定する必要があります。これには、次の 2 つの方法があります。

  • SOAPServerIID プロパティを設定して、ターゲットとなるリモート データ モジュールのインターフェイスを指定します。この方法は、IAppServerSOAP の下位インターフェイスを実装しているどのようなサーバーにも有効です。SOAPServerIID では、その GUID でターゲット インターフェイスを識別します。実行時には、インターフェイス名を使用することができ、その GUID はコンパイラにより自動的に抽出されます。ただし、設計時には、[オブジェクト インスペクタ]で GUID 文字列を指定する必要があります。
  • サーバーが Delphi 言語で記述されている場合は、URL のパス部分の末尾にスラッシュを付け、そのあとに SOAP データ モジュールのインターフェイス名を指定するだけで済みます。このように、GUID ではなく名前でインターフェイスを指定できますが、この方法を使用できるのは、クライアントとサーバーの両方が Delphi で記述されている場合だけです。

ヒント: SOAPServerIID プロパティを使用する第 1 の方法には、リモート データ モジュールのインターフェイスに対する拡張機能を呼び出すことができるという、さらなる利点があります。

プロキシ サーバーを使用している場合は、Proxy プロパティを使って、そのプロキシ サーバーの名前を指定する必要があります。そのプロキシで認証が必要な場合は、接続コンポーネントがログオンできるように、UserName プロパティと Password プロパティの値も設定する必要があります。

メモ: TSoapConnection を使用する場合は、wininet.dll がクライアント マシンにインストールされている必要があります。IE3 以降がインストールされている場合、wininet.dll は Windows のシステム ディレクトリにあります。

関連項目