python調(diào)用webservice接口的實現(xiàn)
使用suds這個第三方模塊
from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client(url) print cilent
查看webservice接口的具體信息:
調(diào)用接口方法,通常 client.service.methodname
實際測試過程中遇到的坑:
1、tns 值為Localhost
之前查看接口信息時,未發(fā)現(xiàn)tns="http://Localhost:4567/Interface.wsdl",這個被設(shè)置成Localhost,導(dǎo)致通過接口調(diào)用時,只能在webservice接口本地服務(wù)器上才能調(diào)用成功,其他服務(wù)器調(diào)用時,接口中的方法都無法獲取。大坑!
解決方法:修改webservice接口對應(yīng)的wsdl文件 Interface.wsdl,將其中的Localhost改成具體ip即可。
2、接口方法名不符合python命名規(guī)范
比如上述的方法,無法直接這樣調(diào)用
解決辦法:python內(nèi)置函數(shù)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') # 需要一一對應(yīng)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
下載與當前Chrome對應(yīng)的chromedriver.exe(用于python+selenium)
這篇文章主要介紹了下載與當前Chrome對應(yīng)的chromedriver.exe(用于python+selenium),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù))
這篇文章主要介紹了python Requsets下載開源網(wǎng)站的代碼(帶索引 數(shù)據(jù)),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04對python 矩陣轉(zhuǎn)置transpose的實例講解
下面小編就為大家分享一篇對python 矩陣轉(zhuǎn)置transpose的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python實現(xiàn)利用最大公約數(shù)求三個正整數(shù)的最小公倍數(shù)示例
這篇文章主要介紹了Python實現(xiàn)利用最大公約數(shù)求三個正整數(shù)的最小公倍數(shù),涉及Python數(shù)學運算相關(guān)操作技巧,需要的朋友可以參考下2017-09-09Python函數(shù)any()和all()的用法及區(qū)別介紹
any函數(shù):any(x),只要x中有一個不為空,0,false就返回True,否則返回False。all(x)函數(shù)必須x中的所有元素均不為空,0,false才會返回True,否則返回False。接下來通過本文給大家介紹Python函數(shù)any()和all()的用法及區(qū)別介紹,需要的朋友參考下吧2018-09-09Python閉包之返回函數(shù)的函數(shù)用法示例
這篇文章主要介紹了 Python閉包之返回函數(shù)的函數(shù)用法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01