Spécification d'une connexion à l'aide de SOAP
Remonter à Connexion au serveur d'applications
Vous pouvez établir une connexion à un serveur d'applications SOAP en utilisant le composant SoapConn.TSoapConnection. TSoapConnection est très semblable à TWebConnection, car il utilise également HTTP comme protocole de transport. Ainsi, vous pouvez utiliser TSoapConnection depuis n'importe quelle machine ayant une adresse TCP/IP et elle profitera de la sécurité SSL pour communiquer avec un serveur protégé par un pare-feu.
Le composant connexion SOAP établit une connexion avec un fournisseur de service Web implémentant l'interface IAppServerSOAP ou IAppServer. (La propriété UseSOAPAdapter spécifie quelle est l'interface supportée par le serveur.) Si le serveur implémente l'interface IAppServerSOAP, TSoapConnection convertit cette interface en une interface IAppServer pour les ensembles de données client. TSoapConnection localise l'application serveur Web en utilisant une URL (Uniform Resource Locator). L'URL spécifie le protocole (http ou, si vous utilisez la sécurité SSL, https), le nom d'hôte de la machine exécutant le serveur Web, le nom de l'application service Web et le chemin correspondant au nom de chemin du THTTPSoapDispatcher sur le serveur d'applications. Spécifiez cette valeur avec la propriété URL.
Par défaut, TSOAPConnection recherche automatiquement une interface IAppServerSOAP (ou IAppServer). Si le serveur comprend plusieurs modules de données distants, vous devez indiquer l'interface du module de données cible (un descendant de IAppServerSOAP) afin que TSOAPConnection identifie le module de données distant à utiliser. Pour ce faire, vous pouvez procéder de deux façons :
- Définissez la propriété SOAPServerIID de manière à indiquer l'interface du module de données distant cible. Cette méthode fonctionne pour tout serveur qui implémente un descendant de IAppServerSOAP. SOAPServerIID identifie l'interface cible par son GUID. A l'exécution, vous pouvez utiliser le nom de l'interface pour que le compilateur extraie le GUID automatiquement. Toutefois, à la conception, dans l'inspecteur d'objets, vous devez spécifier la chaîne GUID.
- Si le serveur est écrit à l'aide du langage Delphi, vous pouvez simplement inclure le nom de l'interface du module de données SOAP après une barre oblique à la fin de la partie du chemin de l'URL. Cela vous permet de spécifier l'interface par le nom plutôt que par le GUID, mais n'est possible que lorsque le client et le serveur sont tous deux écrits en Delphi.
Conseil : La première approche, qui recourt à la méthode SOAPServerIID, présente en outre l'avantage d'autoriser l'appel des extensions à l'interface du module de données distant.
Si vous utilisez un serveur proxy, vous devez indiquer son nom à l'aide de la propriété Proxy. Si ce proxy nécessite une authentification, vous devez également définir la valeur des propriétés UserName et Password pour que le composant connexion établisse la connexion.
Remarque : Lorsque vous utilisez TSoapConnection, wininet.dll doit être installée sur la machine client. Si vous avez IE3 ou une version supérieure, wininet.dll se trouve dans le répertoire système de Windows.