Didacticiel sur les services Web SOAP : Qu'est-ce que le protocole SOAP ? EXEMPLE

Qu'est-ce que le SAVON ?

SOAP est un protocole basรฉ sur XML pour accรฉder aux services Web via HTTP. Il comporte des spรฉcifications qui pourraient รชtre utilisรฉes dans toutes les applications.

SOAP est connu sous le nom de Simple Object Access Protocol, mais plus tard, il a simplement รฉtรฉ abrรฉgรฉ en SOAP v1.2. SOAP est un protocole ou, en d'autres termes, une dรฉfinition de la maniรจre dont les services Web communiquent entre eux ou communiquent avec les applications clientes qui les invoquent.

SOAP a รฉtรฉ dรฉveloppรฉ comme langage intermรฉdiaire afin que les applications construites sur diffรฉrents langages de programmation puissent communiquer facilement entre elles et รฉviter un effort de dรฉveloppement extrรชme.

Prรฉsentation du savon

Dans le monde dโ€™aujourdโ€™hui, il existe un grand nombre dโ€™applications construites sur diffรฉrents langages de programmation. Par exemple, il pourrait y avoir une application Web conรงue en Java, un autre en .Net et un autre en PHP.

L'รฉchange de donnรฉes entre applications est crucial dans le monde interconnectรฉ d'aujourd'hui. Mais lโ€™รฉchange de donnรฉes entre ces applications hรฉtรฉrogรจnes serait complexe. Il en sera de mรชme pour la complexitรฉ du code nรฉcessaire ร  cet รฉchange de donnรฉes.

L'une des mรฉthodes utilisรฉes pour lutter contre cette complexitรฉ consiste ร  utiliser XML (Extensible Markup Language) comme langage intermรฉdiaire pour l'รฉchange de donnรฉes entre applications.

Chaque langage de programmation peut comprendre le langage de balisage XML. Par consรฉquent, XML a รฉtรฉ utilisรฉ comme support sous-jacent pour lโ€™รฉchange de donnรฉes.

Mais il nโ€™existe pas de spรฉcifications standard sur lโ€™utilisation de XML dans tous les langages de programmation pour lโ€™รฉchange de donnรฉes. C'est lร  qu'intervient le logiciel SOAP.

SOAP a รฉtรฉ conรงu pour fonctionner avec XML sur HTTP et possรจde une sorte de spรฉcification qui peut รชtre utilisรฉe dans toutes les applications. Nous examinerons plus en dรฉtail le protocole SOAP dans les chapitres suivants.

Avantages du savon

SOAP est le protocole utilisรฉ pour l'รฉchange de donnรฉes entre applications. Vous trouverez ci-dessous quelques-unes des raisons pour lesquelles SOAP est utilisรฉ.

  • Lors du dรฉveloppement de services Web basรฉs sur SOAP, vous devez disposer d'un langage pouvant รชtre utilisรฉ par les services Web pour communiquer avec les applications clientes. SOAP est le support idรฉal qui a รฉtรฉ dรฉveloppรฉ pour atteindre cet objectif. Ce protocole est รฉgalement recommandรฉ par le consortium W3C qui est l'organisme directeur de tous les standards du Web.
  • SOAP est un protocole lรฉger utilisรฉ pour lโ€™รฉchange de donnรฉes entre applications. Notez le mot-clรฉ 'lumiรจre.' ร‰tant donnรฉ que la programmation SOAP est basรฉe sur le langage XML, qui est lui-mรชme un langage lรฉger d'รฉchange de donnรฉes, SOAP est donc un protocole qui entre รฉgalement dans la mรชme catรฉgorie.
  • SOAP est conรงu pour รชtre indรฉpendant de la plate-forme et est รฉgalement conรงu pour รชtre indรฉpendant du systรจme d'exploitation. Ainsi, le protocole SOAP peut fonctionner avec n'importe quelle application basรฉe sur un langage de programmation, ร  la fois sur Windows et Linux
  • Il fonctionne sur le protocole HTTP โ€“ SOAP fonctionne sur le protocole HTTP, qui est le protocole par dรฉfaut utilisรฉ par toutes les applications Web. Par consรฉquent, aucune sorte de personnalisation nโ€™est requise pour exรฉcuter les services Web basรฉs sur le protocole SOAP afin de fonctionner sur le World Wide Web.

Blocs de construction SOAP

La spรฉcification SOAP dรฉfinit ce qu'on appelle un ยซMessage SOAPยป qui est ce qui est envoyรฉ au service Web et ร  l'application client.

Le diagramme ci-dessous de l'architecture SOAP montre les diffรฉrents รฉlรฉments constitutifs d'un message SOAP.

Blocs de construction SOAP
Blocs de construction des messages SOAP

Le message SOAP n'est rien d'autre qu'un simple document XML contenant les composants ci-dessous.

  • Un รฉlรฉment Enveloppe qui identifie le document XML en tant que message SOAP โ€“ Il s'agit de la partie contenant du message SOAP et est utilisรฉ pour encapsuler tous les dรฉtails du message SOAP. Il s'agit de l'รฉlรฉment racine du message SOAP.
  • Un รฉlรฉment d'en-tรชte qui contient des informations d'en-tรชte โ€“ L'รฉlรฉment d'en-tรชte peut contenir des informations telles que des informations d'authentification qui peuvent รชtre utilisรฉes par l'application appelante. Il peut รฉgalement contenir la dรฉfinition de types complexes qui pourraient รชtre utilisรฉs dans le message SOAP. Par dรฉfaut, le message SOAP peut contenir des paramรจtres qui peuvent รชtre de types simples tels que des chaรฎnes et des nombres, mais peuvent รฉgalement รชtre un type d'objet complexe.

Un exemple simple de service SOAP d'un type complexe est prรฉsentรฉ ci-dessous.

Supposons que nous souhaitions envoyer un type de donnรฉes structurรฉ qui combine un ยซ Nom du didacticiel ยป et un ยซ Nom du didacticiel ยป. Descriptionโ€, alors nous dรฉfinirions le type complexe comme indiquรฉ ci-dessous.

Le type complexe est dรฉfini par la balise element . Tous les รฉlรฉments requis de la structure ainsi que leurs types de donnรฉes respectifs sont ensuite dรฉfinis dans la collection de types complexes.

<xsd:complexType>     
 <xsd:sequence>       
 	<xsd:element name="Tutorial Name" type="string"/>         
  	<xsd:element name="Tutorial Description"  type="string"/>
  </xsd:sequence>
</xsd:complexType>
  • Un รฉlรฉment Body qui contient des informations d'appel et de rรฉponse โ€“ Cet รฉlรฉment contient les donnรฉes rรฉelles qui doivent รชtre envoyรฉes entre le service Web et l'application appelante. Vous trouverez ci-dessous un exemple de service Web SOAP du corps SOAP qui fonctionne rรฉellement sur le type complexe dรฉfini dans la section d'en-tรชte. Voici la rรฉponse du nom du didacticiel et du didacticiel Description qui est envoyรฉ ร  lโ€™application appelante qui appelle ce service Web.
<soap:Body>
   <GetTutorialInfo>
		<TutorialName>Web Services</TutorialName> 
		<TutorialDescription>All about web services</TutorialDescription> 
   </GetTutorialInfo>
</soap:Body>

Structure des messages SOAP

Une chose ร  noter est que les messages SOAP sont normalement gรฉnรฉrรฉs automatiquement par le service Web lors de son appel.

Chaque fois qu'une application client appelle une mรฉthode dans le service Web, le service Web gรฉnรจre automatiquement un message SOAP contenant les dรฉtails nรฉcessaires sur les donnรฉes qui seront envoyรฉes du service Web ร  l'application client.

Comme indiquรฉ dans la rubrique prรฉcรฉdente de ce didacticiel SOAP, un simple message SOAP comporte les รฉlรฉments suivants :

  • L'รฉlรฉment Enveloppe
  • L'รฉlรฉment d'en-tรชte et
  • L'รฉlรฉment corps
  • L'รฉlรฉment Fault (facultatif)

Regardons ci-dessous un exemple d'un simple message SOAP et voyons ce que fait rรฉellement l'รฉlรฉment.

Structure des messages SOAP

Structure des messages SOAP
  1. Comme le montre le message SOAP ci-dessus, la premiรจre partie du message SOAP est l'รฉlรฉment d'enveloppe qui est utilisรฉ pour encapsuler l'intรฉgralitรฉ du message SOAP.
  2. L'รฉlรฉment suivant est le corps SOAP qui contient les dรฉtails du message rรฉel.
  3. Notre message contient un service Web qui porte le nom de ยซ Guru99WebService ยป.
  4. Le ยซ Guru99Webservice ยป accepte un paramรจtre de type ยซ int ยป et porte le nom de TutorialID.

Dรฉsormais, le message SOAP ci-dessus sera transmis entre le service Web et l'application client.

Vous pouvez voir ร  quel point les informations ci-dessus sont utiles ร  l'application client. Le message SOAP indique ร  l'application client quel est le nom du service Web, ainsi que les paramรจtres qu'elle attend et quel est le type de chaque paramรจtre pris par le service Web.

ร‰lรฉment d'enveloppe SOAP

Le premier รฉlรฉment de base est lโ€™enveloppe SOAP.

L'enveloppe SOAP est utilisรฉe pour encapsuler tous les dรฉtails nรฉcessaires des messages SOAP, qui sont รฉchangรฉs entre le service Web et l'application client.

L'รฉlรฉment d'enveloppe SOAP est utilisรฉ pour indiquer le dรฉbut et la fin d'un message SOAP. Cela permet ร  l'application client qui appelle le service Web de savoir quand le message SOAP se termine.

Les points suivants peuvent รชtre notรฉs sur lโ€™รฉlรฉment enveloppe SOAP.

  • Chaque message SOAP doit avoir un รฉlรฉment enveloppe racine. Il est absolument obligatoire que le message SOAP comporte un รฉlรฉment enveloppe.
  • Chaque รฉlรฉment d'enveloppe doit avoir au moins un รฉlรฉment de corps de savon.
  • Si un รฉlรฉment Envelope contient un รฉlรฉment header, il ne doit pas en contenir plus dโ€™un et il doit apparaรฎtre comme le premier enfant de lโ€™Envelope, avant lโ€™รฉlรฉment body.
  • L'enveloppe change lorsque les versions de SOAP changent.
  • Un processeur SOAP compatible v1.1 gรฉnรจre une erreur lors de la rรฉception d'un message contenant l'espace de noms d'enveloppe v1.2.
  • Un processeur SOAP compatible v1.2 gรฉnรจre une erreur de non-concordance de version s'il reรงoit un message qui n'inclut pas l'espace de noms d'enveloppe v1.2.

Vous trouverez ci-dessous un exemple d'API SOAP de la version 1.2 de l'รฉlรฉment d'enveloppe SOAP.

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" SOAP-ENV:encodingStyle=" http://www.w3.org/2001/12/soap-encoding">
          <soap:Body>
        <Guru99WebService xmlns="http://tempuri.org/">
                  <TutorialID>int</TutorialID>
                </Guru99WebService>
          </soap:Body>
</SOAP-ENV:Envelope>

Le message de dรฉfaut

Lorsqu'une requรชte est adressรฉe ร  un service Web SOAP, la rรฉponse renvoyรฉe peut prendre deux formes : une rรฉponse rรฉussie ou une rรฉponse d'erreur. Lorsqu'un succรจs est gรฉnรฉrรฉ, la rรฉponse du serveur sera toujours un message SOAP. Mais si des erreurs SOAP sont gรฉnรฉrรฉes, elles sont renvoyรฉes sous forme d'erreurs ยซ HTTP 2 ยป.

Le message d'erreur SOAP comprend les รฉlรฉments suivants.

  1. โ€“ C'est le code qui dรฉsigne le code de l'erreur. Le code d'erreur peut รชtre l'une des valeurs ci-dessous
    1. SOAP-ENV:VersionMismatch โ€“ C'est lorsqu'un espace de noms non valide pour l'รฉlรฉment SOAP Envelope est rencontrรฉ.
    2. SOAP-ENV:MustUnderstand โ€“ Un รฉlรฉment enfant immรฉdiat de l'รฉlรฉment Header, avec l'attribut mustUnderstand dรฉfini sur ยซ 1 ยป, n'a pas รฉtรฉ compris.
    3. SOAP-ENV:Client โ€“ โ€‹โ€‹Le message รฉtait mal formรฉ ou contenait des informations incorrectes.
    4. SOAP-ENV:Serveur โ€“ Il y a eu un problรจme avec le serveur, le message n'a donc pas pu continuer.
  2. โ€“ Il sโ€™agit du message texte qui donne une description dรฉtaillรฉe de lโ€™erreur.
  3. (Facultatif)โ€“ Il s'agit d'une chaรฎne de texte qui indique qui est ร  l'origine du dรฉfaut.
  4. (Facultatif) โ€“ Il s'agit de l'รฉlรฉment destinรฉ aux messages d'erreur spรฉcifiques ร  l'application. Ainsi, l'application peut avoir un message d'erreur spรฉcifique pour diffรฉrents scรฉnarios de logique mรฉtier.

Exemple de message d'erreur

Un exemple de message de dรฉfaut est donnรฉ ci-dessous. L'erreur est gรฉnรฉrรฉe si le scรฉnario dans lequel le client tente d'utiliser une mรฉthode appelรฉe TutorialID dans la classe GetTutorial.

Le message d'erreur ci-dessous est gรฉnรฉrรฉ dans le cas oรน la mรฉthode n'existe pas dans la classe dรฉfinie.

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
      <SOAP-ENV:Body>
         <SOAP-ENV:Fault>
         <faultcode xsi:type="xsd:string">SOAP-ENV:Client</faultcode>
        <faultstring xsi:type="xsd:string">
            Failed to locate method (GetTutorialID) in class (GetTutorial)
         </faultstring>
    </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Sortie :

Lorsque vous exรฉcutez le code ci-dessus, une erreur du type ยซ ร‰chec de la localisation de la mรฉthode (GetTutorialID) dans la classe (GetTutorial) ยป s'affiche.

Modรจle de communication SOAP

Toutes les communications par SOAP se font via le protocole HTTP. Avant SOAP, beaucoup de services Web utilisรฉ le style standard RPC (Remote Procedure Call) pour la communication. Cโ€™รฉtait le type de communication le plus simple, mais il prรฉsentait de nombreuses limites.

Maintenant, dans ce didacticiel de l'API SOAP, examinons le diagramme ci-dessous pour voir comment fonctionne cette communication. Dans cet exemple, supposons que le serveur hรฉberge un service Web qui fournit 2 mรฉthodes comme

  • ObtenirEmployรฉ โ€“ Cela permettrait d'obtenir tous les dรฉtails de l'employรฉ
  • DรฉfinirEmployรฉ โ€“ Cela dรฉfinirait la valeur des dรฉtails tels que le service des employรฉs, le salaire, etc.

Dans la communication normale de style RPC, le client appellerait simplement les mรฉthodes dans sa requรชte et enverrait les paramรจtres requis au serveur, et le serveur enverrait ensuite la rรฉponse souhaitรฉe.

Modรจle de communication SOAP

Le modรจle de communication ci-dessus prรฉsente les sรฉrieuses limitations ci-dessous

  1. Pas indรฉpendant de la langue โ€“ Le serveur hรฉbergeant les mรฉthodes serait dans un langage de programmation particulier et normalement les appels au serveur se feraient uniquement dans ce langage de programmation.
  2. Pas le protocole standard โ€“ Lorsqu'un appel est effectuรฉ vers la procรฉdure distante, l'appel n'est pas effectuรฉ via le protocole standard. C'รฉtait un problรจme puisque la plupart des communications sur le Web devaient รชtre effectuรฉes via le protocole HTTP.
  3. Les pare-feu โ€“ ร‰tant donnรฉ que les appels RPC ne transitent pas par le protocole normal, des ports distincts doivent รชtre ouverts sur le serveur pour permettre au client de communiquer avec le serveur. Normalement, tous les pare-feu bloquent ce type de trafic, et de nombreuses configurations รฉtaient gรฉnรฉralement nรฉcessaires pour garantir que ce type de communication entre le client et le serveur fonctionnerait.

Pour surmonter toutes les limitations citรฉes ci-dessus, SOAP utiliserait alors le modรจle de communication ci-dessous

Modรจle de communication SOAP

  1. Le client formate les informations concernant l'appel de procรฉdure et les รฉventuels arguments dans un message SOAP et les envoie au serveur dans le cadre d'une requรชte HTTP. Ce processus d'encapsulation des donnรฉes dans un message SOAP รฉtait connu sous le nom de Triage.
  2. Le serveur dรฉballerait ensuite le message envoyรฉ par le client, verrait ce que le client a demandรฉ, puis renverrait la rรฉponse appropriรฉe au client sous forme de message SOAP. La pratique consistant ร  dรฉballer une demande envoyรฉe par le client est connue sous le nom de Dรฉmarchage.

Exemple pratique de savon

Maintenant, dans ce didacticiel SoapUI, voyons un exemple pratique de SOAP,

L'un des meilleurs moyens de voir comment les messages SOAP sont gรฉnรฉrรฉs est probablement de voir un service Web en action.

Ce sujet examinera l'utilisation du MicrosoftFramework .Net pour crรฉer un service Web ASMX. Ce type de service Web prend en charge ร  la fois SOAP version 1.1 et version 1.2.

Les services Web ASMX gรฉnรจrent automatiquement le Langage de dรฉfinition de service Web (WSDL) document. Ce document WSDL est requis par l'application cliente appelante afin que l'application sache ce que le service Web est capable de faire.

Dans notre exemple, nous allons crรฉer un service web simple, qui servira ร  renvoyer une chaรฎne ร  l'application qui appelle le service web.

Ce service Web sera hรฉbergรฉ dans un Asp.Net application Web. Nous invoquerons ensuite le service Web et verrons le rรฉsultat renvoyรฉ par le service Web.

Visual Studio nous montrera รฉgalement quel est le message SOAP transmis entre le service Web et l'application appelante.

La premiรจre condition prรฉalable pour configurer notre application de service Web qui peut รชtre effectuรฉe en suivant les รฉtapes ci-dessous.

Veuillez vous assurer que Visual Studio 2013 est installรฉ sur votre systรจme pour cet exemple.

ร‰tape 1) La premiรจre รฉtape consiste ร  crรฉer une application Web ASP.Net vide. Depuis Visual Studio 2013, cliquez sur l'option de menu Fichier->Nouveau projet.

Exemple de message SOAP

Une fois que vous avez cliquรฉ sur l'option Nouveau projet, Visual Studio vous proposera alors une autre boรฎte de dialogue pour choisir le type de projet et donner les dรฉtails nรฉcessaires du projet. Ceci est expliquรฉ ร  lโ€™รฉtape suivante.

ร‰tape 2) Dans cette รฉtape,

  1. Assurez-vous de choisir d'abord le C# modรจle Web d'application Web ASP.NET. Le projet doit รชtre de ce type afin de crรฉer un projet de services SOAP. En choisissant cette option, Visual Studio effectuera alors les รฉtapes nรฉcessaires pour ajouter les fichiers requis par toute application Web.
  2. Donnez un nom ร  votre projet qui dans notre cas a รฉtรฉ donnรฉ comme webservice.asmx. Assurez-vous ensuite de donner un emplacement oรน les fichiers du projet seront stockรฉs.

Exemple de message SOAP

Une fois cela fait, vous verrez le fichier projet crรฉรฉ dans votre explorateur de solutions dans Visual Studio 2013.

Exemple de message SOAP

ร‰tape 3) Dans cette รฉtape,

Nous allons ajouter un fichier de service Web ร  notre projet

  1. Faites dโ€™abord un clic droit sur le fichier du projet comme indiquรฉ ci-dessous

Exemple de message SOAP

  1. Une fois que vous avez fait un clic droit sur le fichier du projet, vous avez la possibilitรฉ de choisir l'option ยซ Ajouter->Service Web (ASMX) pour ajouter un fichier de service Web. Fournissez simplement un nom de service de didacticiel pour le fichier de nom du service Web.

Exemple de message SOAP

ร‰tape 4) Ajoutez le code suivant ร  votre fichier asmx de service de didacticiel.

Exemple de message SOAP

Explication du code :

  1. Cette ligne de code fournit un nom pour votre fichier de service Web. Il s'agit d'une รฉtape importante car elle permet ร  l'application client d'appeler le service Web via le nom du service Web.
  2. Normalement, un fichier de classe est utilisรฉ pour encapsuler les fonctionnalitรฉs d'un service Web. Ainsi, le fichier de classe aura la dรฉfinition de toutes les mรฉthodes Web qui fourniront certaines fonctionnalitรฉs ร  l'application client.
  3. Ici, [WebMethod] est connu comme un attribut qui dรฉcrit une fonction. L'รฉtape suivante crรฉe une fonction appelรฉe ยซ Guru99WebService ยป, mais avec l'inclusion de cette รฉtape d'ajout d'un attribut [WebMethod] garantit que cette mรฉthode peut รชtre invoquรฉe par une application client. Si cet attribut n'est pas en place, la mรฉthode ne pourra jamais รชtre appelรฉe par une application client.
  4. Nous dรฉfinissons ici une fonction appelรฉe 'Guru99WebService' qui sera utilisรฉe pour renvoyer une chaรฎne ร  l'application cliente appelante. Cette fonction est un service web qui peut รชtre appelรฉ par n'importe quelle application client.
  5. Nous utilisons l'instruction return pour renvoyer la chaรฎne ยซ Ceci est un service Web Guru99 ยป ร  l'application client.

Si le code est exรฉcutรฉ avec succรจs, la sortie suivante s'affichera lorsque vous exรฉcutez votre code dans le navigateur.

Sortie :

Exemple de message SOAP

  • Le rรฉsultat montre clairement que le nom de notre service Web est ยซ Guru99 Web Service ยป, ce qui est le rรฉsultat du nom donnรฉ ร  notre service Web.
  • Nous pouvons รฉgalement voir que nous pouvons invoquer le service Web. Si nous cliquons sur le bouton Invoquer, nous obtiendrons la rรฉponse ci-dessous dans le navigateur Web.

Exemple de message SOAP

La sortie ci-dessus,

  • Cela montre clairement qu'en invoquant la mรฉthode Web, la chaรฎne ยซ Ceci est un service Web Guru99 ยป est renvoyรฉe.
  • Visual Studio vous permet รฉgalement d'afficher la demande de message SOAP et la rรฉponse gรฉnรฉrรฉe lorsque le service Web ci-dessus est appelรฉ.

La requรชte SOAP gรฉnรฉrรฉe lorsque le service Web est appelรฉ est prรฉsentรฉe ci-dessous.

Exemple de message SOAP

Explication du code :

  1. La premiรจre partie du message SOAP est l'รฉlรฉment enveloppe qui a รฉtรฉ abordรฉ dans les chapitres prรฉcรฉdents. Il s'agit de l'รฉlรฉment d'encapsulation prรฉsent dans chaque message SOAP.
  2. Le corps SOAP est l'รฉlรฉment suivant et contient les dรฉtails rรฉels du message SOAP.
  3. La troisiรจme partie est l'รฉlรฉment qui spรฉcifie que nous voulons appeler le service appelรฉ ยซ Guru99WebService ยป.

Exemple de message SOAP

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  
    <soap:Body>
      
        <Guru99WebServiceResponse xmlns="http://tempuri.org/">
          
            <Guru99WebServiceResult>string</Guru99WebServiceResult>
          
        </Guru99WebServiceResponse>
    </soap:Body>
</soap:Envelope>

Explication du code :

  1. La premiรจre partie du message SOAP est l'รฉlรฉment enveloppe qui a รฉtรฉ abordรฉ dans les chapitres prรฉcรฉdents. Il s'agit de l'รฉlรฉment d'encapsulation prรฉsent dans chaque message SOAP.
  2. Le corps SOAP est l'รฉlรฉment suivant et contient les dรฉtails rรฉels du message SOAP.
  3. La partie intรฉressante que vous verrez maintenant est l'attribut 'string'. Cela indique ร  l'application client que le service Web appelรฉ renvoie un objet du type chaรฎne. Ceci est trรจs utile car si l'application cliente ne saurait autrement ce que renvoie le service Web.

Rรฉsumรฉ

  • SOAP est un protocole utilisรฉ pour รฉchanger des donnรฉes entre des applications construites sur des bases diffรฉrentes. langages de programmation.
  • SOAP est basรฉ sur la spรฉcification XML et fonctionne avec le protocole HTTP. Cela le rend parfait pour une utilisation dans les applications Web.
  • Les blocs de construction SOAP consistent en un message SOAP. Chaque message SOAP se compose d'un รฉlรฉment d'enveloppe, d'un en-tรชte et d'un รฉlรฉment de corps.
  • L'รฉlรฉment enveloppe est l'รฉlรฉment obligatoire du message SOAP et est utilisรฉ pour encapsuler toutes les donnรฉes du message SOAP.
  • L'รฉlรฉment d'en-tรชte peut รชtre utilisรฉ pour contenir des informations telles que des informations d'authentification ou la dรฉfinition de types de donnรฉes complexes.
  • L'รฉlรฉment body est l'รฉlรฉment principal qui contient la dรฉfinition des mรฉthodes Web ainsi que toutes les informations sur les paramรจtres si nรฉcessaire.

Rรฉsumez cet article avec :