用XML-RPC快速设置Web服务

ZDNet软件频道 时间:2003-07-01 作者:周靖 译 |  我要评论()
本文关键词:xml
随着与Web服务相关的规范越来越多,你有必要记住,要想快速启动并运行一个服务,还有原始的XML通信协议可供利用。XML-RPC(远程过程调用)最初开发于20世纪90年代末,它是SOAP的老祖宗。
本文译自Builder.com,未经许可请勿转载随着与Web服务相关的规范越来越多,你有必要记住,要想快速启动并运行一个服务,还有原始的xml通信协议可供利用。xml-RPC(远程过程调用)最初开发于20世纪90年代末,它是SOAP的老祖宗。不过,在SOAP、WSDL以及其他协议开始发展的同时,xml-RPC却开始原地踏步。这个规范目前虽然仍在使用,但自1999年起就没有改动过。

规范

XML-RPC规范网站发布了这一规范的细节。本文不准备复述这些细节,而是探讨一些真实的请求和响应消息,如清单A所示,我们想通过实战来了解这个规范。

在例子中,要注意的第一件事情是xml中绝无任何属性,只使用了元素。所有请求消息都放在一个<methodCall>元素中,方法名放在一个子<methodName>元素中。类似地,所有响应消息都放在一个<methodResponse>元素中。

除此之外,还要注意<value>是在<param>元素内部传递的,值的类型可用数据类型元素<int>、<double>、<string>等等来指定。要传递更多的数据(比如希望参数数量可变,或者希望参数成为一个复合结构),那么从这个例子可以看出,xml-RPC也支持<array>和<struct>数据类型。

注意,xml-RPC不支持命名空间、多参与者(Multiple Actors)、将指令传递给不同的端点以及协议绑定。xml-RPC是一种从A点到B点的规范,只使用HTTP POST这一递送机制来工作。每条请求消息只有一个方法调用,每条响应消息也只有一个返回值(可为数组或者用于发送多个值的结构)。

服务器和客户端是惟一的“参与者”,它们需要提前知道要做的事情。没有UDDI机制可供你了解自己还不知道的事情,也没有WSDL可供你描述自己还不理解的事情。

这会对你产生什么妨碍呢?可能并不多。你想用Web服务完成什么事情,其实大多数都可与你的客户以及其他商业伙伴清楚地加以定义。由于缺乏对元数据的考虑,所以xml-RPC不适合用于预测未来,但它至少能对你今天做的事情提供相当大的帮助。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134