SOAP

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Échange de messages entre services web (XML)
Couche OSI 7 (Application, généralement sur HTTP/HTTPS)
Format XML (enveloppe / en-tête / corps)
Voir aussi HTTP · HTTPS

SOAP (Simple Object Access Protocol) est un protocole d'échange de messages structurés en XML entre applications, typiquement transporté sur HTTP/HTTPS bien que le standard ne l'impose pas. Chaque message SOAP est une enveloppe contenant un en-tête optionnel (métadonnées : authentification, transaction...) et un corps (la charge utile de l'appel).

Structure d'un message

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Header>
    <!-- métadonnées optionnelles -->
  </soap:Header>
  <soap:Body>
    <GetPrixRequest>
      <ReferenceProduit>ABC123</ReferenceProduit>
    </GetPrixRequest>
  </soap:Body>
</soap:Envelope>

Un service SOAP est généralement décrit par un document WSDL (Web Services Description Language) qui définit les opérations disponibles, leurs paramètres et types.

SOAP face à REST

SOAP impose un contrat strict (WSDL, schémas XSD) et gère nativement des fonctions avancées (transactions, sécurité WS-Security), au prix d'une verbosité et d'une complexité plus importantes que les API REST/JSON, aujourd'hui largement majoritaires pour les nouveaux développements — SOAP reste néanmoins répandu dans certains secteurs à forte contrainte contractuelle (banque, assurance, administrations).

Voir aussi

  • HTTP / HTTPS — transport habituel des messages SOAP