SOAP (acronyme de Simple Object Access Protocol) est un protocole d'échange d'information structurée dans l'implémentation de services web bâti sur XML.
Il donne la permission de transmission de messages entre objets distants, ce qui veut dire qu'il autorise un objet à invoquer des méthodes d'objets physiquement situés sur un autre serveur. Le transfert se fait le plus souvent à l'aide du protocole HTTP, mais peut également se faire par un autre protocole, comme SMTP.
Le protocole SOAP est composé de deux parties :
SOAP a été initialement défini par Microsoft et IBM[1], mais est devenu une référence depuis une recommandation du W3C, utilisée notamment dans le cadre d'architectures de type SOA (Service Oriented Architecture) pour les Services Web WS-*.
Le protocole SOAP emploie des métadonnées[2].
SOAP n'est plus un acronyme – mais un simple nom – depuis la version 1.2. En effet, SOAP v1.2 a été réécrit en fonction d'infosets XML, et non plus sous forme de sérialisations <?xml … ?> comme il l'était en v1.1. La notion d'objet (spécifiée dans Simple Object Access Protocol) devient donc obsolète.