XML -RPC 是一个用XML 消息执行RPC 的简单协议,服务请求使用XML 来编码,并通过HTTP POST 发送,XML 响应被嵌入HTTP 响应主体。
SOAP 是在计算机之间交换信息的基于XML 的协议,主要侧重于通过HTTP 传输RPC 。它利用了XML 的命名空间和XML 模式(XML Schema) 。
XML -RPC 是启动Web 服务最容易的方法,在很多方面比SOAP 更简单易用,但不同于SOAP 的是,XML -RPC 没有相应的服务描述语法,这妨碍了XML -RPC 服务的自动调用。
XML-RPC 与 SOAP 中客户机与服务器之间的交互是一样的。
SOAP 有明显的优越性:它非常适合异步通信和针对松耦合的客户机和服务器。但这种好处会招致一些不利结果。必须做大量的运行时检查,而且开发人员丧失了许多可以确保方法和参数是正确的编译时便利。
可以认为SOAP 是XML-RPC 的高级版本,二者基于相同的原理:利用HTTP + XML 封装进行RPC 调用。