python 记录第一次用WebService的方式调用接口,用suds碰到的问题, 怎么在url后加参数

在使用前WebService服务是啥都不知道,查的资料看的案例都是类似的

最近接到一个需求对接WebService的接口,在这之前连WebService都没了解过,先是百度了一些资料,看到的案例都是大致一样的如下:

from suds.client import Client

client = Client(wsdl服务地址)

这里这个wsdl服务地址是在url后要加上‘?wsdl’的

因为拿到的接口只是webservice/Service.asmx这样的,这里也是报错了几次才搞明白

加上就是 ‘webservice/Service.asmx?wsdl’这样

print client

可以看到这个服务下对应的方法和参数

client.service.fun_name(data)

这样就是调用完成了, 这里看到很多人都说data可以直接放字典,但是我不行,我得用**data解包才行, 也可以直接在括号里面直接写 arg=value, arg2=value2 这样

 

别人都是在服务上调方法就好了,但是我对接的这个接口有点不一样。

按这种方式调我会一直报500,显示服务器错误

这是别人用SoapUI调的截图,他的url这还带了参数。我查遍了百度,谷歌都没教怎么在suds调用时在url加参数,只能自己debug找了。

选定方法后还要在url后加参数,在创建client的时候

Client(wsdl_url, location=url)

如果url有中文的话还需要 urlencode一下

问题就解决了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值