[Python]利用soaplib访问webservice的实例代码
2014-12-30 14:56
597 查看
#coding:utf-8 import soaplib from soaplib.core.util.wsgi_wrapper import run_twisted #发布服务 from soaplib.core.server import wsgi from soaplib.core.service import DefinitionBase #所有服务类必须继承该类 from soaplib.core.service import soap #声明注解 from soaplib.core.model.clazz import Array #声明要使用的类型 from soaplib.core.model.clazz import ClassModel #若服务返回类,该返回类必须是该类的子类 from soaplib.core.model.primitive import Integer,String class C_ProbeCdrModel(ClassModel): __namespace__ = "C_ProbeCdrModel" Name=String Id=Integer class AdditionService(DefinitionBase): #this is a web service @soap(Integer,Integer,_returns=String) def addition(self,a,b): return str(a)+'+'+str(b)+'='+str(a+b) @soap(_returns=Array(String)) def GetCdrArray(self): L_Result=["1","2","3"] return L_Result @soap(_returns=C_ProbeCdrModel) def GetCdr(self): #返回的是一个类,该类必须是ClassModel的子类,该类已经在上面定义 L_Model=C_ProbeCdrModel() L_Model.Name=L_Model.Name L_Model.Id=L_Model.Id return L_Model if __name__=='__main__': #发布服务 try: print '服务已经开启' from wsgiref.simple_server import make_server soap_application = soaplib.core.Application([AdditionService], 'tns') wsgi_application = wsgi.Application(soap_application) server = make_server('localhost', 7789, wsgi_application) server.serve_forever() except ImportError: print 'error'
soaplib用的是2.0的版本,用0.8版本的不行
这里说一句:如果这里“from soaplib.core.util.wsgi_wrapper import run_twisted #发布服务” 报错的话,可以把这条删除了,运行没问题,估计是没引用到,所以报错了
运行上面那段代码,成功的话,控制台会显示“服务已经开启”。
在浏览器中访问http://127.0.0.1:7789/SOAP/?wsdl出现一大版的xml而不是访问错误,就说明服务添加成功
可以运行代码测试一下
测试代码:
from suds.client import Client test=Client('http://localhost:7789/SOAP/?wsdl') print test.service.addition(1,2)
成功的话,会出现以下界面
相关文章推荐
- 利用soaplib搭建webservice详细步骤和实例代码
- 利用soaplib搭建webservice详细步骤和实例代码
- Python代码: 访问者实例(访问列表,层次列表)
- Shell、Perl、Python、PHP访问 MySQL 数据库代码实例
- 利用Python爬取微博数据生成词云图片实例代码
- python利用hook技术破解https的实例代码
- python-利用pyaudio进行声音录制及简单实例代码分享
- 利用Python2下载单张图片与爬取网页图片实例代码
- 利用Python进行异常值分析实例代码
- Shell、Perl、Python、PHP访问 MySQL 数据库代码实例
- 利用soaplib搭建webservice详细步骤和实例代码
- python利用hook技术破解https的实例代码
- 利用Python实现Windows下的鼠标键盘模拟的实例代码
- Ajax学习笔记(2)----Ajax访问XML实例代码(全)
- Python 流程控制实例代码
- python访问纯真IP数据库的代码
- Python 流程控制实例代码
- 利用using简化受限的proxy代码和调整访问权
- 利用discuz实现PHP大文件上传应用实例代码
- 【经典实例】利用C#反射动态编译代码,创建类的实例,并调用其成员