关于Web服务:XML-RPC和SOAP有什么区别?

关于Web服务:XML-RPC和SOAP有什么区别?

What's the difference between XML-RPC and SOAP?

我从来没有真正理解过为什么Web服务实现者会选择一个。 XML-RPC通常在较旧的系统中找到吗? 任何帮助理解这一点将不胜感激。


差异?

SOAP功能更强大,并且是软件工具供应商(MSFT .NET,Java Enterprise Edition之类的东西)更喜欢的。

SOAP长期以来(2001-2007年)一直被视为SOA的首选协议。 xml-rpc没那么多。 REST是新的SOA宠儿,尽管它不是协议。

SOAP更冗长,但功能更强大。

在某些较旧的版本中不支持SOAP。例如,没有用于经典ASP的SOAP库(我可以找到)。

python不太支持SOAP。 XML-RPC在标准库中的python中提供了强大的支持。

SOAP支持文档级传输,而xml-rpc则更多地涉及值传输,尽管它可以传输诸如结构,列表等结构。

xm-rpc实际上是关于程序到程序语言不可知转移的。它主要经过http / https。 SOAP消息也可以通过电子邮件传递。

xml-rpc更统一。它使您可以简单地做事,并且在知道自己在做什么时,即使使用终端文本编辑器,也可以快速部署高质量的Web服务。那样做SOAP是一个动物园。您确实需要一个好的IDE使其可行。

但是,如果您要争夺《财富》 500强IT职位,那么对SOAP的了解会更好。

xml-rpc对于非ascii字符集存在一些问题。

XML-RPC不支持命名参数。它们必须顺序正确。不确定SOAP,但请这样考虑。


只是为了增加其他答案,我鼓励您查看SOAP和XML-RPC调用的实际文本表示形式,也许可以通过使用Ethereal来捕获它们。整个" XML-RPC更简单"参数直到您看到SOAP调用的详细程度变得毫无意义。许多相当受欢迎的网站都回避了SOAP作为其API,因为如果人们开始大量使用它,就会消耗大量带宽。


凯特·罗德斯(Kate Rhodes)在http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap上发表了一篇关于差异的出色文章


推荐阅读

    linux关闭系统的命令?

    linux关闭系统的命令?,系统,工作,命令,时间,用户,指令,通知,目的,终端,表示,

    linux系统nl命令?

    linux系统nl命令?,系统,工作,命令,信息,文件,标准,工具,单位,公式,内容,nl是

    linux命令修复系统?

    linux命令修复系统?,系统,地址,时间,工作,数据,一致,第一,工具,流程,命令,当L

    linux更新系统的命令?

    linux更新系统的命令?,系统,工作,单位,管理,信息,命令,地址,基础,数据,工具,l

    纯命令行linux服务器?

    纯命令行linux服务器?,密码,服务,系统,命令,终端,地址,百度,情况,状态,公共,

    linux系统开发命令?

    linux系统开发命令?,工作,系统,地址,信息,命令,目录,数据,管理,单位,功能,Win

    重启服务linux命令?

    重启服务linux命令?,网络,系统,服务,设备,工作,标准,名称,工具,命令,管理,Lin

    linux系统命令awk?

    linux系统命令awk?,数据,系统,工具,基础,标准,名称,单位,命令,文本,语法,Linu

    linux命令行退出系统?

    linux命令行退出系统?,系统,工作,时间,地址,信息,命令,软件,工具,发行,电脑,

    linux系统命令vim?

    linux系统命令vim?,系统,工作,发行,模式,连续,工具,官方网站,状态,环境,时间

    linux系统常用命令表?

    linux系统常用命令表?,系统,基础,工作,工具,管理,网络,命令,数据,标准,地址,l

    linux系统命令无效?

    linux系统命令无效?,系统,密码,数据,工具,网络,信息,软件,情况,在线,时报,lin

    linux系统解压缩命令?

    linux系统解压缩命令?,系统,工具,管理,文件,命令,名称,电脑,格式,文件名,目

    linux系统用户命令?

    linux系统用户命令?,系统,工作,地址,信息,管理,命令,目录,时间,电脑,名称,请

    linux系统清缓存命令?

    linux系统清缓存命令?,数据,系统,地址,服务,网络,电脑,缓存,工具,环境,设备,l

    linux下命令访问服务?

    linux下命令访问服务?,服务,密码,状态,信息,地址,网络,认证,系统,号码,名称,l

    linux系统中vi命令?

    linux系统中vi命令?,位置,状态,档案,系统,首开,工作,数据,环境,数字,正规,lin

    linux系统负载命令?

    linux系统负载命令?,系统,情况,信息,电脑,工具,管理,状态,时间,命令,灵活,Lin

    检查linux服务器命令?

    检查linux服务器命令?,系统,信息,状态,情况,时间,工具,网络,环境,服务,电脑,

    linux系统初始化命令?

    linux系统初始化命令?,系统,基础,工作,服务,信息,命令,软件,网络,密码,发行,l