关于python请求webservices携带wsse验证的问题

在项目中需要使用Python对接XML格式的WebService接口,选择了suds库进行操作。安装suds后,通过wsdl获取接口详情,但在调用时遇到WSSE权限验证问题。解决方法是,在请求中添加WSSE参数,模拟用户名和密码进行数据获取权限验证,类似cookie的使用方式。
摘要由CSDN通过智能技术生成

项目上又一个需求需要我去对接webservices的接口。以xml报文的形式去请求;

之前很少接触到xml,于是在网上找到了python的suds库;非常强大

首先是安装suds,直接pip就行了;python3的话需要pip install suds-jurko即可

首先引入suds

from suds.client import Client
url = "http://erptrn.cpihn.com:8002/webservices/SOAProvider/plsql/cux_soa_risk_pre_v3_pkg/?wsdl";
def sendmsg_to_workTicketbase(P_ORG_ID , P_WORK_DATE , P_END_DATE):
    client = Client(url)
    print(client)

此时你可以看到这个wsdl下所有的接口名字以及需要传入的参数,那么接下来就是调用了

def sendmsg_to_workTicketbase(P_ORG_ID , P_WORK_DATE , P_END_DATE):
    client = Client(url)
    result = client.service.GET_SOA_WORK_TICKET_BASE(P_ORG_ID =P_ORG_ID , P_WORK_DATE=P_WORK_DATE, P_END_DATE =         P_END_DATE)
    return result

此时可能会报错,也就是我提到的wsse验证权限。由于我这个wsdl是oracle直接生成的,oracle有两个权限,一个是修改数据库的权限,一个是数据获取权限,那么这个wsse就是用户获取数据权限。我们需要给我们的请求携带wss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值