WEB开发网
开发学院软件开发Python 使用 python 开发 Web Service 阅读

使用 python 开发 Web Service

 2008-09-30 13:03:38 来源:WEB开发网   
核心提示: 脚本 wsdl2py 的 -b 选项会生成一些辅助代码,后面的描述中将会看到这些辅助代码能简化编程,使用 python 开发 Web Service(5),运行以上两条命令后,会生成三个文件:myServices_services.py , myServices_services_serv

脚本 wsdl2py 的 -b 选项会生成一些辅助代码,后面的描述中将会看到这些辅助代码能简化编程。运行以上两条命令后,会生成三个文件:

myServices_services.py , myServices_services_server.py , myServices_services_types.py

这三个 python 文件就是服务端的代码框架。为了提供最终的 web 服务,我们还需要添加一个文件,用来实现每个 web 服务的具体代码。将新文件命名为 serviceImpl.py(完整的源代码可以在文章最后下载)。仅实现 getTime 的 serviceImpl.py 如下:

from myServices_services_server import *
from time import time,ctime
from ZSI.ServiceContainer import AsServer
class mySoapServices(myServices):
  def soap_getTime(self,ps):
    try:
      rsp = myServices.soap_getTime(self, ps)
      request = self.request
      rsp.set_element_timeStr(ctime())
    except Exception, e:
      print str(e)
    return rsp

首先导入 myServices_services_server,它是由 wsdl2py 脚本生成的 Web 服务框架代码。类 myServices 是 web 服务的基础类,每一个 web 服务都对应其中的一个方法。getTime 对应 myServices 类中的 soap_getTime 方法。缺省的 soap_getTime 方法只是一个基本框架,但完成了 soap 解析并且能返回该服务的入口参数对象。

为了实现 getTime,我们需要重载 soap_getTime 方法。定义新类 mySoapServices,继承自 myServices。在 mySoapServices 类中重载父类的 soap_getTime() 方法。

getTime 的主要功能是返回一个表示当前时间的字符串。python 系统函数 ctime,就可以得到当前的系统时间。重载 soap_getTime() 函数中,首先调用父类的 soap_getTime() 方法,得到返回值对象rsp。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 python 开发

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