WEB开发网
开发学院软件开发Python Python Web 服务开发者: 针对 Python 的 XML-RPC 阅读

Python Web 服务开发者: 针对 Python 的 XML-RPC

 2007-03-29 12:24:08 来源:WEB开发网   
核心提示:XML-RPC 是一种比 SOAP 更早的、简单的轻量级 Web 服务技术,这个月,Python Web 服务开发者: 针对 Python 的 XML-RPC,Mike Olson 和 Uche Ogbuji 将讨论 Python 中的 XML-RPC 工具,XML-RPC 是 XML Web 服务的鼻祖,代理对象的外

XML-RPC 是一种比 SOAP 更早的、简单的轻量级 Web 服务技术。这个月,Mike Olson 和 Uche Ogbuji 将讨论 Python 中的 XML-RPC 工具。

XML-RPC 是 XML Web 服务的鼻祖。它是一个用于远程过程调用(remote procedure call,RPC)的简单规范,这种调用使用 HTTP 作为传输协议,并使用 XML 词汇表作为消息有效负载。由于 XML-RPC 非常简单(整个规范打印出来还不到十页纸),它已经变得非常流行,现在大多数语言都有了标准的或已经可用的 XML-RPC 实现。这些语言中包括 Python,它在版本 2.2 中就开始捆绑 xmlrpclib(Fredrik Lundh 开发的 XML-RPC 实现)了。Joe Johnston 发表在 IBM developerWorks 上的文章“Using XML-RPC for Web services”(请参阅 参考资料)在前三节讨论了 XML-RPC 的基础知识。如果您需要回顾一下这些基本技术,可以从那篇文章开始。在本文中,我们将重点讨论如何使用 Python 实现。要运行本文中的示例,您必须安装 Python 2.2。另外,在上一篇文章中,我们还讨论了 XML-RPC、SOAP 和其他分布式编程技术的性能对比。在作出部署 XML-RPC 的主要决定之前,您可能希望先阅读一下那篇文章。

客户机

编写 Python XML-RPC 客户机非常容易。模块 xmlrpclib 拥有所需的全部工具。为调用一个远程 XML-RPC 对象,您可以创建一个代理对象,它用 XML-RPC 把请求转发给服务器。代理对象的外观和感觉就和常规的 Python 对象一样,并且请求就是简单的函数调用。 清单 1(currtime.py)使用 XML-RPC 从 UserLand 服务器获取当前时间(请参阅 参考资料以了解更多关于这个服务的信息)。

清单 1(currtime.py):使用 XML-RPC 获取当前时间

 import xmlrpclib
#Port 80 is the default
server = xmlrpclib.ServerProxy("http://time.xmlrpc.com")
currentTimeObj = server.currentTime
currtime = currentTimeObj.getCurrentTime()
print currtime
print currtime.value

1 2 3 4 5  下一页

Tags:Python Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接