代码之家  ›  专栏  ›  技术社区  ›  Scott Saad

XML-RPC和SOAP之间有什么区别?

  •  73
  • Scott Saad  · 技术社区  · 16 年前

    我从未真正理解为什么web服务实现者会选择一个而不是另一个。XML-RPC通常存在于较旧的系统中吗?如果您能帮助理解这一点,我们将不胜感激。

    3 回复  |  直到 14 年前
        1
  •  88
  •   Robert Harvey    6 年前

    差异?

    SOAP在很长一段时间(2001-2007年)被视为SOA的首选协议。xml-rpc并没有那么多。REST是新的SOA宠儿,尽管它不是协议。

    SOAP更详细,但功能更强。

    python不支持SOAP。XML-RPC在python的标准库中有很好的支持。

    SOAP支持文档级传输,而XMLRPC更多地是关于值传输,尽管它可以传输结构(如结构、列表等)等。

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

    xml rpc在非ascii字符集方面存在一些问题。

    XML-RPC不支持命名参数。它们的顺序必须正确。我对肥皂不太确定,但我想是的。

        2
  •  14
  •   bmdhacks    16 年前

    为了补充其他答案,我鼓励您查看SOAP和XML-RPC调用的实际文本表示,也许可以通过使用Ethereal捕获其中一个。整个“XML-RPC更简单”的论点没有多大意义,直到您看到SOAP调用是多么的冗长。许多相当流行的网站都回避使用SOAP作为API,因为如果人们开始广泛使用它,它将消耗大量带宽。