python調用webservice接口,這里我們使用suds包
如果沒有直接cmd命令安裝subs包
pip install suds
安裝成功會有提示成功字樣。
------------------------------
首先導入包
先查看一下webservice提供哪些類型及方法,之后我們才知道怎么調用,傳哪些參數。
from suds.client import Client from suds.transport.https import HttpAuthenticated #webservice需要安全難證 t = HttpAuthenticated(username='RFCATUSER',password='q123456') #安全驗證所需用戶,密碼 url = "http://hqxt1.sinopec.com:50000/dir/wsdl?p=sa/65bd52bd76de381daf15736a37d13ab1" test = Client(url,transport=t) print test

下面開始調用傳參:
#coding=utf-8
#導入包
from suds.client import Client
from suds.transport.https import HttpAuthenticated #webservice需要安全難證
#安全驗證,獲取service服務
t = HttpAuthenticated(username='RFCATUSER',password='q123456') #安全驗證所需用戶,密碼
url = "http://hqxt1.sinopec.com:50000/dir/wsdl?p=sa/65bd52bd76de381daf15736a37d13ab1"
test = Client(url,transport=t)
print test
#用test.factory.create創建實例
request=test.factory.create('DT_IPM_SEND_PSBUDGET_REQ')
IPM_MSG_HEAD = test.factory.create('MSG_HEAD')
request.IS_MSG_HEAD = IPM_MSG_HEAD
IPM_MSG_HEAD.SENDTIME = '20170421102908'
IPM_MSG_HEAD.RECIVER = 'ECC'
IPM_MSG_HEAD.SENDER = 'IPM'
IPM_MSG_HEAD.INTERFACE_ID = 'PROJECT_CREATE'
IPM_MSG_HEAD.SPRAS = None
IPM_MSG_HEAD.OPERATOR = None
IPM_MSG_HEAD.SYSTEM_ID = None
IPM_MSG_HEAD.PROXY_ID = None
IPM_MSG_HEAD.GUID = None
IPM_MSG_HEAD.MANDT = None
request.IV_BUKRS = "X060"
request.IV_TESTRUN = "X"
request.IT_PSBUDGET=[]
#用test.service.XXXXX去調用方法
m=test.service.SI_IPM_SEND_PSBUDGET_REQ_A_OUT(request)
print IPM_MSG_HEAD
print request
