Python調用webservice接口

  • 2020 年 1 月 10 日
  • 筆記

from suds.client import Client    url = "http://218.90.174.179:50038/JmYfjzService/clientRegisterService?WSDL"  test = Client(url)  print(test)  m=test.service.clientListen()  print(m)
python調用webservice接口,這裡我們使用suds包如果沒有直接cmd命令安裝subs包 pip suds install 安裝成功會有提示成功字樣。 ------------------------------首先導入包先查看一下webservice提供哪些類型及方法,之後我們才知道怎麼調用,傳哪些參數。1234567from suds.client import Clientfrom 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下面開始調用傳參:123456789101112131415161718192021222324252627282930313233343536373839404142434445#coding=utf-8 #導入包from suds.client import Clientfrom 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 = NoneIPM_MSG_HEAD.OPERATOR = NoneIPM_MSG_HEAD.SYSTEM_ID = NoneIPM_MSG_HEAD.PROXY_ID = NoneIPM_MSG_HEAD.GUID = NoneIPM_MSG_HEAD.MANDT = Nonerequest.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_HEADprint requestpython suds 出錯"No handlers could be found for logger 'suds.client'"      解決方法:   1、找到client.py,在安裝suds的路徑中   這裡寫圖片描述   2、在client.py中添加,如下圖      import logging  getLogger('suds.client').setLevel(logging.CRITICAL)