Python调用webservice接口

本文介绍如何使用Python的suds库调用需要安全验证的WebService接口,包括创建请求对象、设置请求头信息及调用服务的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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提供哪些类型及方法,之后我们才知道怎么调用,传哪些参数。

1
2
3
4
5
6
7
from suds.client import Client
from suds.transport.https import HttpAuthenticated #webservice需要安全难证
 
= HttpAuthenticated(username='RFCATUSER',password='q123456'#安全验证所需用户,密码
url = "http://hqxt1.sinopec.com:50000/dir/wsdl?p=sa/65bd52bd76de381daf15736a37d13ab1"
test = Client(url,transport=t)
print test

下面开始调用传参:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#coding=utf-8
 
#导入包
from suds.client import Client
from suds.transport.https import HttpAuthenticated #webservice需要安全难证
 
  
 
#安全验证,获取service服务
 
= 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
python 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)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值