前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python调用webservice接口

Python调用webservice接口

作者头像
py3study
发布2020-01-10 16:27:35
3.7K0
发布2020-01-10 16:27:35
举报
文章被收录于专栏:python3
代码语言:javascript
复制
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)
代码语言:javascript
复制
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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档