Verbindung über SOAP angeben

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Verbindung zum Anwendungsserver einrichten


Mithilfe Soap.SOAPConn.TSoapConnection-Komponente kann eine Verbindung zu einer SOAP-Anwendung eingerichtet werden. Die Schnittstelle TSoapConnection ähnelt weitgehend der Schnittstelle TWebConnection, da auch sie HTTP als Transportprotokoll verwendet. Sie können TSoapConnection daher auf jedem Computer verwenden, der über eine TCP/IP-Adresse verfügt, und die Vorteile der SSL-Sicherheit in der Kommunikation mit einem Server nutzen, der durch eine Firewall geschützt ist.

Die SOAP-Verbindungskomponente baut eine Verbindung zu einem Web-Service-Provider auf, der die Schnittstelle IAppServerSOAP oder IAppServer als Schnittstelle implementiert. (Die Eigenschaft UseSOAPAdapter gibt an, welche Schnittstelle der Server unterstützen muss.) Implementiert der Server die Schnittstelle IAppServerSOAP, wandelt TSoapConnection diese Schnittstelle in eine IAppServer-Schnittstelle für Client-Datenmengen um. TSoapConnection sucht nach dieser Web-Server-Anwendung mithilfe einer URL. In dieser URL sind folgende Parameter festgelegt: das Protokoll (HTTP bzw. HTTPS, wenn die SSL-Sicherheitsfunktionen genutzt werden), der Host-Name des Computers, auf dem sich der Web-Server befindet, der Name der Web-Service-Anwendung und eine Pfadangabe, die dem Pfadnamen von THTTPSoapDispatcher auf dem Anwendungsserver entspricht. Die URL wird in der Eigenschaft URL angegeben.

TSOAPConnection sucht standardmäßig nach einer IAppServerSOAP- oder einer IAppServer-Schnittstelle. Wenn der Server mehr als ein Remote-Datenmodul beinhaltet, müssen Sie die Schnittstelle des als Ziel dienenden Datenmoduls (einen Nachkommen von IAppServerSOAP) angeben, damit TSOAPConnection das Remote-Datenmodul, das Sie verwenden möchten, identifizieren kann. Dazu gibt es zwei Möglichkeiten:

  • Sie legen die Schnittstelle des gewünschten Remote-Datenmoduls mithilfe der Eigenschaft SOAPServerIID fest. Dieses Verfahren funktioniert für jeden Server, der eine von IAppServerSOAP abgeleitete Schnittstelle implementiert. SOAPServerIID identifiziert die Zielschnittstelle anhand ihrer GUID. Zur Laufzeit können Sie den Schnittstellstellennamen verwenden, aus dem der Compiler automatisch die GUID extrahiert. Zur Entwurfszeit müssen Sie allerdings im Objektinspektor die GUID-Zeichenfolge angeben.
  • Wenn der Server unter Verwendung der Delphi-Programmiersprache erstellt worden ist, genügt es, wenn Sie den Namen der Schnittstelle des SOAP-Datenmoduls am Ende des Pfadteils der URL (hinter einem zusätzlichen Schrägstrich) eintragen. Auf diese Weise können Sie die Schnittstelle anhand ihres Namens (statt anhand ihrer GUID) festlegen. Diese Möglichkeit besteht allerdings nur, wenn sowohl Client- als auch Server-Anwendung in Delphi erstellt wurden.

Tipp: Der erste Ansatz unter Verwendung von SOAPServerIID bietet den zusätzlichen Vorteil, dass Sie in der Lage sind, Erweiterungen der Schnittstelle des Remote-Datenmoduls aufzurufen.

Bei Verwendung eines Proxy-Servers müssen Sie den Namen des Proxy-Servers mithilfe der Eigenschaft Proxy angeben. Wenn jener Proxy eine Authentifizierung verlangt, müssen Sie außerdem die Werte der Eigenschaften UserName und Password festlegen, damit die Verbindungskomponente eine Anmeldung durchführen kann.

Hinweis: Wenn eine Verbindung mit TSoapConnection eingerichtet wird, muss auf dem Client-Computer WININET.DLL installiert sein. Arbeiten Sie mit Internet Explorer 3 oder höher, befindet sich WININET.DLL im Windows-Systemverzeichnis.

Siehe auch