Question

Je n'ai jamais vraiment compris pourquoi un développeur de services Web choisirait l'un plutôt que l'autre. XML-RPC est-il généralement présent dans les systèmes plus anciens? Toute aide pour comprendre ceci serait grandement appréciée.

Était-ce utile?

La solution

Différences?

SOAP est plus puissant et les constructeurs d’outils logiciels le préfèrent (MSFT .NET, Java Enterprise Edition, etc.).

SOAP a longtemps été considéré (2001-2007) comme le protocole de choix pour la SOA. xml-rpc pas tellement. REST est le nouveau SOA chéri, bien que ce ne soit pas un protocole.

SOAP est plus bavard, mais plus capable.

SOAP n’est pas pris en charge dans certains éléments plus anciens. Par exemple, pas de bibliothèque SOAP pour ASP classique (que je pourrais trouver).

SOAP n'est pas bien pris en charge en python. XML-RPC est très bien supporté en python, dans la bibliothèque standard.

SOAP prend en charge le transfert au niveau du document, alors que xml-rpc concerne davantage le transfert de valeurs, bien qu'il puisse transférer des structures telles que des structures, des listes, etc.

xm-rpc est vraiment un programme de transfert indépendant de la langue du programme. Il passe principalement par http / https. Les messages SOAP peuvent également être transmis par courrier électronique.

xml-rpc est plus unixy. Il vous permet de faire les choses simplement et lorsque vous savez ce que vous faites, le déploiement de services Web de qualité est très rapide, même lorsque vous utilisez des éditeurs de texte terminaux. Faire du savon de cette façon est un zoo; vous avez vraiment besoin d’un bon IDE pour le rendre réalisable.

Connaître SOAP, cependant, aura une bien meilleure apparence sur votre CV si vous aspirez à un poste dans le classement Fortune 500.

xml-rpc a quelques problèmes avec les jeux de caractères non ascii.

XML-RPC ne prend pas en charge les paramètres nommés. Ils doivent être dans le bon ordre. Pas sûr de SOAP, mais croyez-le.

Autres conseils

Juste pour ajouter aux autres réponses, je vous encourage à regarder les représentations textuelles des appels SOAP et XML-RPC, peut-être en capturant un avec Ethereal. L'ensemble, "XML-RPC est plus simple" l'argument n'a pas beaucoup de sens jusqu'à ce que vous voyez à quel point un appel SOAP est incroyablement détaillé La plupart des sites Web assez populaires hésitent à utiliser SOAP en tant qu'API en raison de la bande passante qu'il consommerait si les utilisateurs commençaient à l'utiliser de manière intensive.

Kate Rhodes a rédigé un excellent essai sur les différences entre http : //weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top