python调用soap_如何在python zeep中调用soap api而不使用wsdl(非wsdl模式)?使用用户和密码身份验证调用位置URL...

我无法在Zeep python客户端中为SOAP API验证用户身份 . 我有两个网址:

1) http://credotrade.stg-tradingcrm.com:8093/mex - 它指定了wsdl服务 . 我可以用Zeep命令 python -mzeep 调用它来检查所有可用的操作 .

2) https://credotrade.stg-tradingcrm.com:8094/CrmServiceBasic - 这是一个身份验证网址,提供使用登录名和密码保护的api位置 .

检查这个api的可用工作php客户端我发现SoapClient收到 SoapClient($wsdl, $location, $username, $password) 形式的参数,其中 $wsdl 是第一个url, $location 是第二个, $username 和 $password 是我的用户名和密码 . 继php文档之后

在非WSDL模式下,必须设置location和uri选项,其中location是要将请求发送到的SOAP服务器的URL,uri是SOAP服务的目标名称空间

如果我直接调用wsdl url,我会收到安全错误: zeep.exceptions.Fault: An error occurred when verifying security for the message.

没有任何成功,我试图ctreate新的ServiceProxy对象 . 此外,我试图在wsdl definition的代码似乎指定api位置时立即修改Zeep Client self.wsdl 初始化 .

如何在python中使用非wsdl soap api?我可以使用Zeep编写一个调用非wsdl api的客户端吗?

Update: Php文档似乎具有误导性 . 我在python-zeep github上遇到了问题How to create client with specific endpoints? . 这意味着location url只是一个与非wsdl模式无关的身份验证URL . Zeep的作者建议可以解决authentification url创建新ServiceProxy对象的问题:

service = client.create_service(

'{http://my-target-namespace-here}myBinding',

'http://my-endpoint.com/acceptance/')

谁能解释如何通过 create_service 方法调用验证网址?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值