Conception de serveurs gérant les services Web

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation de services Web - Index


Outre les interfaces invocables, et les classes qui les implémentent, le serveur a besoin de deux composants : un répartiteur et un invocateur. Le répartiteur (Soap.WebBrokerSOAP.THTTPSoapDispatcher) reçoit les messages SOAP entrants et les transmet à l'invocateur. L'invocateur (Soap.SOAPHTTPPasInv.THTTPSoapPascalInvoker>) interprète le message SOAP, identifie l'interface invocable qu'il appelle, exécute l'appel et assemble le message de réponse.

Remarque :  THTTPSoapDispatcher et THTTPSoapPascalInvoker sont conçus pour répondre à des messages HTTP contenant une requête SOAP. Cependant, l'architecture sous-jacente est suffisamment générale pour qu'elle puisse gérer d'autres protocoles en lui substituant d'autres composants répartiteur et invocateur.

Une fois vos interfaces invocables et leurs classes d'implémentation recensées, le répartiteur et l'invocateur gèrent automatiquement tous les messages qui identifient ces interfaces dans l'en-tête SOAP Action du message de requête HTTP.

Les services Web incluent également un publieur (Soap.WSDLPub.TWSDLHTMLPublish). Les publieurs répondent aux requêtes client entrantes en créant les documents WSDL qui décrivent comment appeler les services Web dans l'application.

Conception d'un serveur de service Web

RAD Studio fournit un expert permettant d'accélérer le développement d'une application serveur de service Web.

Effectuez les étapes suivantes pour concevoir une application serveur qui implémente un service Web :

  1. Choisissez Fichier > Nouveau > Autre et sur la page Services Web, double-cliquez sur l'icône Application serveur SOAP pour lancer l'expert d'application serveur SOAP. Cet expert crée une nouvelle application de serveur Web qui inclut les composants dont vous avez besoin pour répondre aux requêtes SOAP.
  2. Lorsque vous quittez l'expert d'application serveur SOAP, il vous demande de définir une interface pour votre service Web.Si vous êtes en train de créer un service Web de toutes pièces, cliquez sur Oui. Vous voyez alors apparaître l'expert d'ajout d'un nouveau service Web. Cet expert ajoute du code pour déclarer et recenser une nouvelle interface invocable pour votre service Web. Modifiez le code généré pour définir et implémenter votre service Web. Si vous souhaitez ajouter des interfaces supplémentaires (ou si vous souhaitez définir les interfaces à un moment ultérieur), choisissez Fichier > Nouveau > Autre, et sur la page Services Web, double-cliquez sur l'icône d'interface de service Web SOAP. Pour des détails sur l'utilisation de l'expert d'ajout de nouveau service Web et le complément du code qu'il génère, voir Ajout de nouveaux services Web.
  3. Si vous êtes en train d'implémenter un service Web qui a déjà été défini dans un document WSDL, vous pouvez utiliser l'importateur WSDL pour générer les interfaces, les classes d'implémentation et le code de recensement nécessaires à votre application. Il vous suffit de remplir le corps des méthodes générées par l'importateur pour les classes d'implémentation. Pour plus de détails sur l'utilisation de l'importateur de services Web, voir Utilisation de l'importateur WSDL.
  4. Si vous souhaitez utiliser les en-têtes dans l'enveloppe SOAP qui code les messages entre votre application et les clients, vous pouvez définir des classes représentant ces en-têtes et écrire du code qui les traite. Cela est décrit dans Définition et utilisation d'en-têtes SOAP.
  5. Si votre application déclenche une exception lors d'une tentative d'exécution d'une requête SOAP, l'exception est automatiquement codée dans un paquet d'erreur SOAP qui est renvoyé à la place des résultats de l'appel de méthode. Si vous voulez fournir davantage d'informations qu'un simple message d'erreur, vous pouvez créer vos propres classes d'exception qui seront codées et transmises au client. Cela est décrit dans Création de classes d'exception personnalisées pour les services Web.
  6. L'expert d'application serveur SOAP ajoute un composant publieur (TWSDLHTMLPublish) aux nouvelles applications de service Web. Cela permet à votre application de publier des documents WSDL qui décrivent votre service Web aux clients. Pour plus d'informations sur le publieur WSDL, voir Génération de documents WSDL pour une application de service Web.

Voir aussi