Maison > Article > développement back-end > Introduction au schéma XML-SOAP
SimpleObjectAccess Protocol (Simple Object Access Protocol, SOAP) est en fait une technologie de service Web, mais le client et le serveur dans les services Web Les données Le format d'échange entre eux est implémenté via le schéma flexible XML.
Le principal avantage des services Web réside dans le niveau d'interopérabilité entre les clients et les serveurs pour l'échange d'informations et de données sur le réseau. La norme SOAP utilise .
Le principal avantage des services Web est le niveau d'interopérabilité entre les clients et les serveurs pour l'échange d'informations et de données sur le réseau. La norme SOAP utilise XML pour structurer les données dans un format neutre en termes d'architecture, définissant des
types de données et des informations. Pour un
langage de programmation, il vous suffit de fournir le type de données et le nom de la fonction qui doit être appelée sur le serveur distant. La bibliothèque SOAP convertit les informations et le formatage écrits dans le langage hôte en un message au format XML, y compris la fonction appelée et les paramètres fournis. Vous pouvez comprendre la structure de SOAP à travers l'exemple du
W3C. Lors de l'appel de la fonction SOAP distante Get<a href="http://www.php.cn/wiki/1048.html" target="_blank">End</a>orsingBoarder()
, le client L'appelant sur la machine génère le message XML présenté dans le listing 1. Get<a href="http://www.php.cn/wiki/1048.html" target="_blank">End</a>orsingBoarder()
Listing 1. Appel d'une fonction SOAP distante GetEndorsingBoarder()
Le contenu de l'enveloppe correspond aux détails du message.
La fonction appelée est évidemment
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetEndorsingBoarder xmlns:m="http://namespaces.snowboard-info.com"> <manufacturer>K2</manufacturer> <model>Fatbob</model> </m:GetEndorsingBoarder> </SOAP-ENV:Body> </SOAP-ENV:Envelope>chaîne
locale qui peut être codée en binaire en une chaîne XML. Étant donné que XML est indépendant de la plate-forme, les hôtes utilisant des systèmes SOAP peuvent échanger des messages sans codage ni décodage binaires complexes.
Le serveur renvoie la réponse via une autre enveloppe SOAP codée en XML, cette fois la valeur de retour de la GetEndorsingBoarder
fonction. Le format de réponse pour une requête SOAP est le même que celui de la fonction, sauf que est ajouté au contenu de l'enveloppe, comme indiqué dans le listing 2.
Listing 2. Réponse à la demande SOAP Response
Habituellement, il n'est pas nécessaire d'écrire le message SOAP vous-même, la bibliothèque SOAP le génère automatiquement. . Mais la structure et la simplicité de l'enveloppe SOAP montrent que le partage d'informations à l'aide du standard SOAP est simple.
SOAP simplifie grandement le travail d'échange de messages et d'appel de fonctions distantes. La norme Remote Procedure Call (Remote Procedure C
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetEndorsingBoarderResponse xmlns:m="http://namespaces.snowboard-info.com"> <endorsingBoarder>Chris Englesmann</endorsingBoarder> </m:GetEndorsingBoarderResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>, RPC) nécessite des méthodes complexes pour gérer la sérialisation des
données
binaires, et l'envoi d'informations plus structurées nécessite des déclarations détaillées et une transformation bidirectionnelle des informations. Avec SOAP, la sérialisation XML réduit considérablement cette complexité, simplifiant ainsi l'intégration multiplateforme et multilingue et l'échange de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!