使用 python 开发 Web Service
2008-09-30 13:03:38 来源:WEB开发网调用 request 对象的 get_element_userName 方法得到入口参数,并赋值给 uName。然后在数据库中查找用户uName的详细信息,将详细信息填充到 userInfo 类对象中,并返回。作为演示,我们并没有真的到数据库中查询,而是在内存中建立一个字典:
u1 = userInfo("u1","M","Shanghai")
u2 = userInfo("u2","F","Beijing")
self.users={}
self.users["u1"]=u1
self.users["u2"]=u2
该字典中有两个用户:u1 和 u2。演示代码在该字典中查询用户,将查选结果返回用户。
调用 rsp 对象的 new_element_user() 方法创建一个新的返回对象,并用 userDetail 保存。
调用 userDetail.set_element_gender 将用户性别信息设置到返回值对象的 gender 元素中。同样方法设置用户名和地址。
最后将新建的 userDetail 对象设置到返回值 rsp 中:rsp.set_elememnt_user(userDetail)。
发布 web service
所有 web 服务代码都已经写好了,需要服务器代码来发布它们。在复杂并且有较高要求的应用环境中,用户可能需要用 apache 等强大的 web server 来发布 web services。限于篇幅,本文不打算介绍如何在 apache 上发布 python web services。本文将使用 ZSI 自带的 SOAP server。
正如下图所示,使用 ZSI soap server 只需要很少的几行代码:
from ZSI.ServiceContainer import AsServer
from serviceImpl import mySoapServices
from ZSI import dispatch
if __name__ == "__main__":
port = 8888
AsServer(port,(mySoapServices('test'),))
更多精彩
赞助商链接