首页 > 代码库 > python 訪问webservice
python 訪问webservice
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">如今最流行的就是suds了,可是里面仍然有很多bug未修复。也好像没有人更新了</span>
import sys from suds.client import Client sys.setrecursionlimit(1500) test_url = ‘http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl‘ url = ‘http://localhost/IdentifierService.svc?suds确实简单易用wsdl‘ client = Client(url, cache=None)
可是执行后有错误,其它的wsdl地址却没有问题
google中还发现suds与.net平台似乎有一点的不兼容
而这个wsdl就是.net平台的,万恶的.net
不能说常见吧,可是我第一次用就碰到了 runtimeerror: maximum recursion depth exceeded
意思就是递归过深,python默认的递归深度是1000
你能够通过改动深度值,可是无济于事
import sys
sys.setrecursionlimit(1500)
最后仅仅好换工具。用了SOAPy,SOAPpy,pysimplesoap,soaplib真是快用一遍了
最后仅仅有ZSI可用
from ZSI import ServiceProxy url = ‘http://localhost/IdentifierService.svc?wsdl‘ proxy = ServiceProxy.ServiceProxy(url)#是两个ServiceProxy person = "{ ‘IDNumber‘: ‘4123412412423‘, ‘Name‘: ‘张三‘}" account = "{ ‘UserName‘: ‘admin‘, ‘Password‘: ‘123456‘}" response = proxy.ExactCheckByJson(request=person, cred=account)当中ExactCheckJson是webservice提供的服务
并且參数必须是这个形式的,假设直接上參数,就会报ypeError: Not supporting SOAPENC:Arrays or XSD:List的错误
然后我的request跟cred是借口文档提供的。还不能变~
python 訪问webservice
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。