104 votes

Quelle est la différence entre la communication de style document et de style RPC?

Est-ce que quelqu'un peut m'expliquer les différences entre les services web de style Document et RPC? Mis à part JAX-RPC, la prochaine version est JAX-WS, qui prend en charge à la fois les styles Document et RPC. Je comprends également que les services web de style document sont destinés à la communication asynchrone où un client ne bloquerait pas jusqu'à ce que la réponse soit reçue.

De toute façon, en utilisant JAX-WS, j'annote actuellement le service avec @Webservice, génère le WSDL et à partir de ce WSDL, je génère les artéfacts côté client.

Une fois les artéfacts reçus, dans les deux styles, j'appelle la méthode sur le port. Maintenant, cela ne diffère pas en style RPC et style Document. Alors quelle est la différence et où cette différence est-elle visible?

De même, en quoi SOAP sur HTTP diffère-t-il de XML sur HTTP? Après tout, SOAP est également un document XML avec un espace de noms SOAP.

3voto

Je pense que ce que vous demandez est la différence entre les services web SOAP RPC Literal, Document Literal et Document Wrapped.

Remarquez que les services web Document sont également divisés en littéral et enveloppé et ils sont différents - l'une des principales différences est que le dernier est conforme BP 1.1 et l'ancien ne l'est pas.

Aussi, dans Document Literal, l'opération à invoquer n'est pas spécifiée en termes de nom alors que dans Wrapped, oui. Je pense que c'est une différence significative en termes de comprendre facilement le nom de l'opération pour laquelle la requête est destinée.

En termes de RPC literal contre Document Wrapped, la requête Document Wrapped peut être facilement validée par rapport au schéma dans le WSDL - un grand avantage.

Je vous suggère d'utiliser Document Wrapped comme type de service web de choix en raison de ses avantages.

SOAP sur HTTP est le protocole SOAP lié à HTTP comme support. SOAP pourrait également être sur SMTP ou XXX. SOAP fournit un moyen d'interaction entre les entités (client et serveurs, par exemple) et les deux entités peuvent rassembler les arguments d'opération / les valeurs de retour selon la sémantique du protocole.

Si vous utilisiez XML sur HTTP (et vous le pouvez), il est simplement compris comme une charge XML sur la requête / réponse HTTP. Vous devriez fournir le cadre pour rassembler / démonter, gérer les erreurs et ainsi de suite.

Un tutoriel détaillé avec des exemples de WSDL et de code mettant l'accent sur Java: SOAP et JAX-WS, RPC versus Document Web Services

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X