Nigdy tak naprawdę nie rozumiem, dlaczego osoba wdrażająca usługi internetowe wybrałaby jedną z nich. Czy XML-RPC ogólnie można znaleźć w starszych systemach? Jakakolwiek pomoc w zrozumieniu tego byłaby bardzo mile widziana.
źródło
Nigdy tak naprawdę nie rozumiem, dlaczego osoba wdrażająca usługi internetowe wybrałaby jedną z nich. Czy XML-RPC ogólnie można znaleźć w starszych systemach? Jakakolwiek pomoc w zrozumieniu tego byłaby bardzo mile widziana.
Różnice?
SOAP jest potężniejszy i jest znacznie preferowany przez dostawców oprogramowania (MSFT .NET, Java Enterprise Edition, tego typu rzeczy).
SOAP był przez długi czas (2001-2007ish) postrzegany jako protokół z wyboru dla SOA. xml-rpc nie tak bardzo. REST to nowe ukochane SOA, chociaż nie jest to protokół.
SOAP jest bardziej szczegółowy, ale ma większe możliwości.
SOAP nie jest obsługiwany w niektórych starszych plikach. Na przykład brak bibliotek SOAP dla klasycznej ASP (które mogłem znaleźć).
SOAP nie jest dobrze obsługiwany w Pythonie. XML-RPC ma świetne wsparcie w Pythonie, w standardowej bibliotece.
SOAP obsługuje transfer na poziomie dokumentu, podczas gdy xml-rpc bardziej dotyczy przesyłania wartości, chociaż może przenosić struktury, takie jak struktury, listy itp.
xm-rpc tak naprawdę dotyczy programu do programowania transferu niezależnego od języka. Głównie przechodzi przez http / https. Wiadomości SOAP mogą być również przesyłane pocztą elektroniczną.
xml-rpc jest bardziej unikatowy. Pozwala to robić rzeczy w prosty sposób, a kiedy wiesz, co robisz, wdrażanie wysokiej jakości usług internetowych jest bardzo szybkie, nawet przy użyciu edytorów tekstu terminala. Robienie SOAP w ten sposób to zoo; naprawdę potrzebujesz dobrego IDE, aby było to wykonalne.
Znajomość SOAP będzie jednak wyglądać znacznie lepiej w twoim CV / CV, jeśli ubiegasz się o pracę w IT na liście Fortune 500.
xml-rpc ma pewne problemy z zestawami znaków innych niż ASCII.
XML-RPC nie obsługuje nazwanych parametrów. Muszą być we właściwej kolejności. Nie jestem pewien co do SOAP, ale tak myślę.
Aby dodać do innych odpowiedzi, zachęcałbym do przyjrzenia się faktycznym reprezentacjom tekstowym wywołań SOAP i XML-RPC, być może poprzez przechwycenie jednego za pomocą Ethereal. Cały argument „XML-RPC jest prostszy” nie ma większego sensu, dopóki nie zobaczysz, jak niesamowicie rozwlekłe jest wywołanie SOAP. Wiele z dość popularnych witryn internetowych unika SOAP jako swojego interfejsu API tylko ze względu na ilość przepustowości, którą zużywałby, gdyby ludzie zaczęli go intensywnie używać.
źródło
Kate Rhodes ma świetny esej na temat różnic pod adresem http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap
źródło