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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用scrapy ImagesPipeline爬取圖片資源的示例代碼
這篇文章主要介紹了使用scrapy ImagesPipeline爬取圖片資源的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Python?matplotlib實現(xiàn)多子圖布局
多子圖布局是指在一個圖像中同時顯示多個子圖,每個子圖可以是獨立的圖形或者是相互關(guān)聯(lián)的圖形,下面我們就來了解下matplotlib是如何實現(xiàn)多子圖布局的吧2023-12-12
python中向二維數(shù)組中添加整行或者增列元素問題
這篇文章主要介紹了python中向二維數(shù)組中添加整行或者增列元素問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
python 讀取視頻,處理后,實時計算幀數(shù)fps的方法
今天小編就為大家分享一篇python 讀取視頻,處理后,實時計算幀數(shù)fps的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
python中使用(.)進(jìn)行相對路徑訪問文件的操作方法
在Python中,使用相對路徑訪問文件是一種常見的做法,尤其是在處理與腳本位于同一目錄或附近目錄的文件時,這篇文章主要介紹了python中使用(.)來進(jìn)行相對路徑訪問文件,需要的朋友可以參考下2024-05-05
詳解Python list和numpy array的存儲和讀取方法
這篇文章主要介紹了詳解Python list和numpy array的存儲和讀取方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

