Le style et l'encoding qui caractérise un webservice définissent la façon dont un message SOAP sera construit en fonction de la wsdl.
Style : RPC ou Document
Encoding : Literal ou Encoded
Autre : Wrapped Document Literal
Type :
RPC/Encoded :
- Le message SOAP ne contiendra pas le nom de l'opération en tant que racine à l'intérieur du <soap:body>
- Le message SOAP doit contenir des attributs xsd définissant le type de chaque élément
(exemple : xsd:int)
- No WSI-Compliant
- Validation XSD peut aisée car le schéma XSD est éclatée dans la wsdl
RPC/Literal :
- Le message SOAP contient le nom de l'opération en tant que racine à l'intérieur du <soap:body>
- Le message SOAP ne contient pas des attributs xsd définissant le type de chaque élément
(exemple : xsd:int)
- WSI-Compliant
- Validation XSD peut aisée car le schéma XSD est éclatée dans la wsdl
Document/Encoded :
N'existe pas
Document/Literal
- Le message SOAP ne contient pas le nom de l'opération en tant que racine à l'intérieur du <soap:body>
- Le message SOAP ne contient pas des attributs xsd définissant le type de l'élément
(exemple : xsd:int)
- WSI-Compliant partiellement. Dû au fait qu'une des restrictions de la norme préconise de ne faire apparaitre dans le <soap:body> qu'un seul élément racine. Alors que le Document Literal ne fait pas figurer de nom d'opération et n'a donc pas d'élément racine dans le <soap:body>
- Validation XSD aisée
- Le message SOAP contient le nom de l'opération en tant que racine à l'intérieur du <soap:body>
Il s'agit en réalité d'un contournement du type Document/Literal. L'élément racine n'est en réalité pas vraiment le nom de l'opération comme dans un type RPC/Literal, mais est un wrapper qui porte le même nom que l'opération. (Ce qui revient au meme in fine!)
- Le message SOAP ne contient pas des attributs xsd définissant le type de l'élément
(exemple : xsd:int)
- WSI-Compliant
- Validation XSD aisée
Notes :
- Historiquement, le RPC-Encoded fut le premier à apparaitre et est le plus populaire.
Il permet d'écrire des wsdl les moins complexes
- Le type RPC-Encoded présente à machines équivalentes des performances moindre qu'un type Document/Literal
- Le type Wrapped Document Literal est une amélioration du type Document/Literal en paliant à ses défauts.
Source :
http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
http://www.ibm.com/developerworks/webservices/library/ws-soapenc/
Aucun commentaire:
Enregistrer un commentaire