XML-RPC是一个远程过程调用(远端程序呼叫)(remote procedure call,RPC)的分布式计算协议,通过XML将调用函数封装,并使用HTTP协议作为传送机制。

XML-RPC是工作在Internet上的远程过程调用协议。一个XML-RPC消息就是一个请求体为xml的http-post请求,被调用的方法在服务器端执行并将执行结果以xml格式编码后返回。

RPC和RMI的简单比较

调用形式

在RMI和RPC之间最主要的区别在于方法是如何被调用的。在RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。

classname.methodnam

在RPC中,当一个请求到达RPC服务器时,这个请求就包含了一个参数集和一个文本值,通常形成“classname.methodname”的形式。

methodname

这就向RPC服务器表明,被请求的方法在为“classname”的类中,名叫“methodname”。然后RPC服务器就去搜索与之相匹配的类和方法,并把它作为那种方法参数类型的输入。这里的参数类型是与RPC请求中的类型是匹配的。

匹配成功后

一旦匹配成功,这个方法就被调用了,其结果被编码后返回客户方。

RPC代表远程过程调用。如其名称所示,它是一种调用远程计算机上可用的过程或功能的机制。RPC是比Web更老的技术。有效地,RPC为开发人员提供了一种定义可以通过网络调用的接口的机制。这些接口可以像单个函数调用一样简单,或者与大型API一样复杂。

什么是XML-RPC?

XML-RPC是使计算机可以轻松地在其他计算机上调用过程。

  • XML-RPC允许程序通过网络进行功能或过程调用。

  • XML-RPC使用HTTP协议将信息从客户端计算机传递到服务器计算机。

  • XML-RPC使用一个小的XML词汇表来描述请求和响应的性质。

  • XML-RPC客户端在XML请求中指定过程名称和参数,并且服务器在XML响应中返回故障或响应。

  • XML-RPC参数是一个简单的类型和内容列表 - 结构和数组是最复杂的类型。

  • XML-RPC没有对象的概念,也没有包含使用其他XML词汇表的信息的机制。

  • 然而,使用XML-RPC和Web服务,Web成为一个程序连接的集合,其中计算机沿着紧密绑定的路径交换信息。

  • XML-RPC于1998年初出现; 它由UserLand Software发布,最初在其Frontier产品中实施。

为什么是XML-RPC?

如果您需要集成多个计算环境,但不需要直接共享复杂的数据结构,那么您会发现XML-RPC可以让您快速轻松地建立通信。

即使您在单一环境中工作,也可能会发现RPC方法可以轻松连接具有不同数据模型或处理期望的程序,并且可以轻松访问可重用的逻辑。

  • XML-RPC是在计算机之间建立各种连接的绝佳工具。

  • XML-RPC为集成商提供了使用标准词汇和方法交换信息的机会。

  • XML-RPC最明显的应用范围是连接不同种类的环境,允许Java与Perl,Python,ASP等进行交流。

XML-RPC技术概述

XML-RPC由三个较小的部分组成:

  • XML-RPC数据模型:用于传递参数,返回值和故障(错误消息)的一组类型。

  • XML-RPC请求结构:包含方法和参数信息的HTTP POST请求。

  • XML-RPC响应结构:包含返回值或故障信息的HTTP响应。