Я никогда не понимал, почему разработчик веб-сервисов будет выбирать один из них. Является ли XML-RPC общедоступным в старых системах? Любая помощь в понимании этого будет принята с благодарностью.
Какая разница между XML-RPC и SOAP?
Ответ 1
Различия?
Спецификация xml-rpc подходит для 1 страницы 6 страниц. Спецификация SOAP 1.2 будет стоить вам 500-страничного полотна 44 страницы.
SOAP является более мощным, и его предпочитают поставщики программного обеспечения (MSFT.NET, версия для Java Enterprise, что-то вроде этого).
SOAP долгое время (2001-2007 гг.) рассматривался как протокол выбора для SOA. xml-rpc не так много. REST - новый любитель SOA, хотя это не протокол.
SOAP более многословный, но более способный.
SOAP не поддерживается в некоторых старых файлах. Например, нет SOAP-библиотек для классического ASP (что я мог найти).
SOAP не поддерживается в python. XML-RPC имеет большую поддержку в python, в стандартной библиотеке.
SOAP поддерживает перенос на уровне документа, тогда как xml-rpc - это больше о переносе значений, хотя он может передавать структуры, такие как структуры, списки и т.д.
xm-rpc действительно о программе для программирования агностической передачи языка. В основном это происходит через http/https. Сообщения SOAP также могут отправляться по электронной почте.
xml-rpc больше unixy. Это позволяет вам делать что-то просто, и когда вы знаете, что делаете, очень быстро развертывать качественные веб-службы даже при использовании текстовых редакторов. Выполнение SOAP таким образом - зоопарк; вам действительно нужна хорошая среда разработки, чтобы сделать ее выполнимой.
Знание SOAP, тем не менее, будет выглядеть намного лучше на вашем резюме/резюме, если вы претендуете на IT-работу Fortune 500.
xml-rpc имеет некоторые проблемы с наборами символов, отличными от ascii.
Отредактировано: просто хотелось добавить, что XML-RPC не поддерживает именованные параметры. Они должны быть в правильном порядке. Не уверен в SOAP, но так думаю.
Ответ 2
Чтобы добавить к другим ответам, я бы посоветовал вам взглянуть на фактические текстовые представления вызовов SOAP и XML-RPC, возможно, захватив их Ethereal. Весь аргумент "XML-RPC проще" не имеет большого смысла, пока вы не увидите, насколько невероятно многопользовательский вызов SOAP. Многие из довольно популярных веб-сайтов там уклоняются от SOAP в качестве своего API из-за того, что он будет потреблять только объем, который он будет использовать, если люди начнут его широко использовать.
Ответ 3
Кейт Роудс имеет большое эссе о различиях в http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap