Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > Python与其他语言

python调用webservice接口的实现

来源:中文源码网    浏览:287 次    日期:2024-05-17 09:08:40
【下载文档:  python调用webservice接口的实现.txt 】


python调用webservice接口的实现
使用suds这个第三方模块
from suds.client import Client
url = 'http://ip:port/?wsdl'
cilent=Client(url)
print cilent
查看webservice接口的具体信息:
调用接口方法,通常 client.service.methodname
实际测试过程中遇到的坑:
1、tns 值为Localhost
之前查看接口信息时,未发现tns="http://Localhost:4567/Interface.wsdl",这个被设置成Localhost,导致通过接口调用时,只能在webservice接口本地服务器上才能调用成功,其他服务器调用时,接口中的方法都无法获取。大坑!
解决方法:修改webservice接口对应的wsdl文件 Interface.wsdl,将其中的Localhost改成具体ip即可。
2、接口方法名不符合python命名规范
比如上述的方法,无法直接这样调用
解决办法:python内置函数getattr 。 getattr(cilent.service,'ser-GetAreaID')('1')
3、接口方法传参
此方法为例
1、方法一:
soap_rep=getattr(soapService, 'ser-SetValue')(nSetFlag=1,nSystemID=1,nRecordNo=440002028,nTableNo=18,cValue='225',UserName='admin')
2、方法二:
soap_rep=getattr(soapService, 'ser-SetValue')(1,1,440002028,18,'225','admin') # 需要一一对应
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

相关内容