当前位置: 代码迷 >> XML/SOAP >> XML-RPC容易python实现
  详细解决方案

XML-RPC容易python实现

热度:1195   发布时间:2014-03-01 00:37:44.0
XML-RPC简单python实现

将数据定义为xml格式,通过http协议进行远程传输

写道
XML-RPC是一种比SOAP更早的、简单的轻量级Web服务技术。XML-RPC是XMLWeb服务的鼻祖。

它是一个用于远程过程调用(Remote Procedure Call RPC)的简单规范,这种调用使用HTTP作为传输协议,并使用XML词汇表作为消息有效负载。

由于XML-RPC非常简单(整个规范打印出来还不到十页纸),它已经变得非常流行,现在大多数语言都有了标准的或已经可用的XML-RPC实现。

?

?

python实现

服务端

#Python附带了SimpleXMLRPCServer,它是一个用来实现XML-RPC服务器的模块。
#要公开XML-RPC服务,您可以向SimpleXMLRPCServer模块中与其同名的类的一个实例注册函数或实例。
#最直接的方法就是编写带有实现您需求的方法的实例,然后注册这个实例。

import SimpleXMLRPCServer 
 
class HelloWorld: 
    def say(self): 
        return "hello, world!" 
 
obj = HelloWorld() 
server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 80)) 
server.register_instance(obj) 
print "Listening on port 80..." 
server.serve_forever() 

?

?

客户端

#编写PythonXML-RPC客户机非常容易。
#模块xmlrpclib拥有所需的全部工具。
#为调用一个远程XML-RPC对象,您可以创建一个代理对象,它用XML-RPC把请求转发给服务器。
#代理对象的外观和感觉就和常规的Python对象一样,并且请求就是简单的函数调用。

import xmlrpclib 
server = xmlrpclib.ServerProxy("http://localhost:80") 
print "result: " + server.say() 

?

?