python调用webservice接口实例_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') # 需要一一對應
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的python调用webservice接口实例_python调用webservice接口的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像sobel梯度详细计算过程_数字图像
- 下一篇: 天玥电脑用的什么cpu(天玥电脑生产厂家