SOAP
| 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).