python中用suds调用webservice
webservice接口测试,需要用到suds库,suds只支持python2,如果是Python3.6版本,需要用到suds-jurko,
1) 下载 https://pypi.python.org/pypi/suds/0.4
2)解压压缩包,放到Python安装路径下的scripts文件夹下面。
3)然后在cmd命令行中,进入到suds-jurko-0.4.1.jurko.4文件下面,输入命令:python setup.py install
4)注意:如果在py中写代码 import suds报错,就要把suds-jurko-0.4.1.jurko.4文件夹下面的dist、suds以及suds_jurko.egg-info这三个文件夹,拷贝到Lib下面的site-packages路径下面
5)如果from suds.clientimportClient,提示 ImportError:No module named version 最后pip install --upgrade suds-jurko
其实可以一步到位 pip3 install suds-jurko
Python3 用的这个suds-jurko,安装方法跟Python2一样。
https://pypi.python.org/pypi/suds-jurko/0.6
测试:
In [5]: from suds.client import ClientIn [6]: client = Client('http://www.webxml.com.cn/webservices/qqOnlineWebServic...: e.asmx?wsdl')In [7]: print(client)Suds ( https://fedorahosted.org/suds/ ) version: 0.6Service ( qqOnlineWebService ) tns="http://WebXml.com.cn/"Prefixes (0)Ports (2):(qqOnlineWebServiceSoap)Methods (1):qqCheckOnline(xs:string qqCode)Types (0):(qqOnlineWebServiceSoap12)Methods (1):qqCheckOnline(xs:string qqCode)Types (0):In [8]: result=client.service.qqCheckOnline("100000")In [9]: orubt(result)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-9-8d90f0601db2> in <module>()
----> 1 orubt(result)NameError: name 'orubt' is not definedIn [10]: print(result)
Y
以上测试了获取http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl这个地址的方法列表
可以看到其中有检查qq是否在线的方法,然后调用检测一个qq号码是否在线进行测试
另外如果获取数据量比较大,可以在获取数据之前设置超时时间
client.set_options(timeout=100) # 这里是秒
查看所有属性:
In [11]: print(client.options)
Definitions:cache: classes=(<class 'suds.cache.Cache'>,), default=<suds.cache.NoCach
e object at 0x00000000052385C0>documentStore: classes=(<class 'suds.store.DocumentStore'>,), default=<s
uds.store.DocumentStore object at 0x0000000004D18E10>extraArgumentErrors: classes=(<class 'bool'>,), default=Truefaults: classes=(<class 'bool'>,), default=Truetransport: classes=(<class 'suds.transport.Transport'>,), default=Noneservice: classes=(<class 'int'>, <class 'str'>), default=Noneport: classes=(<class 'int'>, <class 'str'>), default=Nonelocation: classes=(<class 'str'>,), default=Nonesoapheaders: classes=*, default=()wsse: classes=(<class 'suds.wsse.Security'>,), default=Nonedoctor: classes=(<class 'suds.xsd.doctor.Doctor'>,), default=Nonexstq: classes=(<class 'bool'>,), default=Trueprefixes: classes=(<class 'bool'>,), default=Trueretxml: classes=(<class 'bool'>,), default=Falseprettyxml: classes=(<class 'bool'>,), default=Falseautoblend: classes=(<class 'bool'>,), default=Falsecachingpolicy: classes=(<class 'int'>,), default=0plugins: classes=(<class 'list'>, <class 'tuple'>), default=[]nosend: classes=(<class 'bool'>,), default=Falseunwrap: classes=(<class 'bool'>,), default=True
Content:('cache', <suds.cache.ObjectCache object at 0x0000000005249208>)('documentStore', <suds.store.DocumentStore object at 0x0000000004D18E10
>)('extraArgumentErrors', True)('faults', True)('transport', <suds.transport.https.HttpAuthenticated object at 0x000000
0005238EB8>)('service', None)('port', None)('location', None)('soapheaders', ())('wsse', None)('doctor', None)('xstq', True)('prefixes', True)('retxml', False)('prettyxml', False)('autoblend', False)('cachingpolicy', 0)('plugins', [])('nosend', False)('unwrap', True)
Linked:
Definitions:proxy: classes=(<class 'dict'>,), default={}timeout: classes=(<class 'int'>, <class 'float'>), default=90headers: classes=(<class 'dict'>,), default={}username: classes=(<class 'str'>,), default=Nonepassword: classes=(<class 'str'>,), default=None
Content:('proxy', {})('timeout', 90)('headers', {})('username', None)('password', None)
Linked:
Definitions:cache: classes=(<class 'suds.cache.Cache'>,), default=<suds.cache.NoCach
e object at 0x00000000052385C0>documentStore: classes=(<class 'suds.store.DocumentStore'>,), default=<s
uds.store.DocumentStore object at 0x0000000004D18E10>extraArgumentErrors: classes=(<class 'bool'>,), default=Truefaults: classes=(<class 'bool'>,), default=Truetransport: classes=(<class 'suds.transport.Transport'>,), default=Noneservice: classes=(<class 'int'>, <class 'str'>), default=Noneport: classes=(<class 'int'>, <class 'str'>), default=Nonelocation: classes=(<class 'str'>,), default=Nonesoapheaders: classes=*, default=()wsse: classes=(<class 'suds.wsse.Security'>,), default=Nonedoctor: classes=(<class 'suds.xsd.doctor.Doctor'>,), default=Nonexstq: classes=(<class 'bool'>,), default=Trueprefixes: classes=(<class 'bool'>,), default=Trueretxml: classes=(<class 'bool'>,), default=Falseprettyxml: classes=(<class 'bool'>,), default=Falseautoblend: classes=(<class 'bool'>,), default=Falsecachingpolicy: classes=(<class 'int'>,), default=0plugins: classes=(<class 'list'>, <class 'tuple'>), default=[]nosend: classes=(<class 'bool'>,), default=Falseunwrap: classes=(<class 'bool'>,), default=True
Content:('cache', <suds.cache.ObjectCache object at 0x0000000005249208>)('documentStore', <suds.store.DocumentStore object at 0x0000000004D18E10
>)('extraArgumentErrors', True)('faults', True)('transport', <suds.transport.https.HttpAuthenticated object at 0x000000
0005238EB8>)('service', None)('port', None)('location', None)('soapheaders', ())('wsse', None)('doctor', None)('xstq', True)('prefixes', True)('retxml', False)('prettyxml', False)('autoblend', False)('cachingpolicy', 0)('plugins', [])('nosend', False)('unwrap', True)
python中用suds调用webservice相关推荐
- python suds_python使用suds调用webservice接口的方法
最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip in ...
- python suds 调用webservice 缓存
在linux系统中 如果webservice更新了字段 suds调用有可能缓存以前的字段或方法,对新的字段报找不到类型 TypeNotFound,或者对 新加的方法找不到该方法的错误. 当更新或添加w ...
- python suds_python suds访问webservice服务实现
安装suds 在Python3环境下如果使用:pip install suds,应该会报ImportError: No module named client,这里推荐安装suds-py3. 使用 1 ...
- Python使用suds调用webserver接口
首先,要安装suds-py3包,suds-py3包中可以调用client方法进行连接 对于初步学习python的用户来说,pycharm安装suds教程 : File--->settings. ...
- suds调用webservice,option设置
suds 是个好东西,轻便,主要是体积够小,依赖包也小,可以满足小脚本的需要. 现在最新的suds版本是0.4 ,好像已经不再更新了,不过依旧好用. 上这个网址下载,本人下的是tar包自己本地进行编译 ...
- python3用suds调用webService, 当参数是对象数组时
from suds.client import Client url = 'http://127.0.0.1:3945/service/BMS_ExecuteSQLProcedureService.w ...
- Python3 通过 suds 访问 webservice
Python通过suds访问webservice 本文描述了如何通过suds库访问webservice接口 Python通过suds访问webservice suds安装 Webservice访问测试 ...
- 使用suds-py3调用webservice WSDL接口
使用suds-py3调用webservice WSDL接口 应用场景:我们需要通过Python调用webservice的接口,这需要使用到第三方库suds,这篇文章介绍使用suds-py3调用webs ...
- python使用suds来调用webservice
对于python仅作为客户端调用webservice的情况,推荐使用suds库来完成,比起zsi,soapy之类,它可以说是相当轻量级,使用非常方便. 安装suds建议使用easy_insall来做. ...
最新文章
- 美博士环保聚焦“限漆令”出台之后的涂料行业
- Caused by java.lang.UnsatisfiedLinkError Cannot load library
- 聚类技术---复杂网络社团检测_自然场景中交通标志牌检测~文末送书
- notify()唤醒线程,不会立即释放锁对象,需要等到当前同步代码块都执行完后才能释放锁对象
- php 控制器 模板,php学习笔记(一)php模板与控制器
- 0宽字符加密_一文看懂异或加密,有动画演示呦
- ORA-01034: ORACLE not available
- 2000条你应知的WPF小姿势 基础篇69-73 WPF Freeze机制和Template
- 实验4-1-3 找出最小值 (20 分)
- java之classpath到底是什么
- 用tomcat搭建https
- 磁测仪高斯计与特斯拉计、磁通计的区别
- 我写了一份操作系统词典送给你!
- java实现的开源mocker造数神器,10分钟可完成千万级别数据的造数-入门篇
- GameJam线下48小时极限游戏开发体验
- 阴影(shadow mapping)(硬阴影)
- 预装Win 8.1 Pro环境下安装Win 7双系统
- 【Android 教程系列第 13 篇】在小米手机上使用安卓投屏软件 QtScrcpy ,为什么点击屏幕没有反应
- matlab riccati 方程,matlab解riccati方程
- Dragon slayer(搜索板题)
热门文章
- idea的服务器激活网址
- 在培训班里学IT技术,真的有用吗?
- 高等数学(预备知识之三角函数)
- 公告:Gear 与 Zenlink 达成战略合作
- Slackel Live ,惊艳与惊讶并存
- day03(连接查询,子查询,分页查询)
- jxl导入/导出Excel(Maven)
- 金蝶K3 WISE,销售订单即时库存显示不正确,和实际库存不付
- 雪祺电气冲刺深交所:年营收20.7亿 顾维控制47.9%股权
- SpringMVC:@RequestMapping放在类上面和设置请求方式和请求参数(动力)