it-swarm-eu.dev

Was ist der Unterschied zwischen XML-RPC und SOAP?

Ich habe nie wirklich verstanden, warum ein Web-Service-Implementierer einen über den anderen wählen würde. Kommt XML-RPC generell in älteren Systemen vor? Jede Hilfe zum Verständnis wäre sehr dankbar.

76
Scott Saad

Unterschiede?

SOAP ist leistungsfähiger und wird von Anbietern von Softwaretools (MSFT .NET, Java Enterprise Edition, solche Dinge)) sehr bevorzugt.

SOAP galt lange Zeit (2001-2007) als das Protokoll der Wahl für SOA. xml-rpc nicht so sehr. REST ist der neue SOA Liebling, obwohl es kein Protokoll ist.

SOAP ist ausführlicher, aber leistungsfähiger.

SOAP wird in einigen älteren Versionen nicht unterstützt. Zum Beispiel keine SOAP libs für classic ASP (die ich finden konnte).

SOAP wird in Python nicht gut unterstützt. XML-RPC unterstützt Python in der Standardbibliothek hervorragend.

SOAP unterstützt die Übertragung auf Dokumentebene, wohingegen sich xml-rpc eher mit der Übertragung von Werten befasst, obwohl es Strukturen wie Strukturen, Listen usw. übertragen kann.

bei xm-rpc geht es wirklich um eine sprachunabhängige Übertragung von Programm zu Programm. Es geht hauptsächlich über http/https. SOAP Nachrichten können auch per E-Mail versendet werden.

xml-rpc ist unixy. Auf diese Weise können Sie die Dinge einfach erledigen, und wenn Sie wissen, was Sie tun, können Sie sehr schnell hochwertige Webdienste bereitstellen, selbst wenn Sie Terminal-Texteditoren verwenden. Wenn Sie SOAP auf diese Weise vorgehen, ist das ein Zoo; Sie brauchen wirklich ein gutes IDE um es umzusetzen.

Zu wissen, dass SOAP in Ihrem Lebenslauf viel besser aussieht, wenn Sie sich um einen Fortune 500-IT-Job bewerben.

xml-rpc hat einige Probleme mit Nicht-ASCII-Zeichensätzen.

XML-RPC unterstützt keine benannten Parameter. Sie müssen in der richtigen Reihenfolge sein. Nicht sicher über SOAP, aber denke schon.

84

Um die anderen Antworten zu ergänzen, möchte ich Sie ermutigen, sich die tatsächlichen Textdarstellungen von SOAP - und XML-RPC-Aufrufen anzusehen, indem Sie möglicherweise eine mit Ethereal erfassen. Das ganze Argument "XML-RPC ist einfacher" ist erst dann sinnvoll, wenn Sie sehen, wie unglaublich ausführlich ein SOAP -Aufruf ist. Viele der ziemlich beliebten Websites scheuen SOAP als API, da sie nur die Bandbreite verbrauchen, die sie benötigen würden, wenn die Leute sie ausgiebig nutzen würden.

13
bmdhacks

Kate Rhodes hat einen großartigen Aufsatz über die Unterschiede unter http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap

5
Dexter