博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 訪问webservice
阅读量:6925 次
发布时间:2019-06-27

本文共 1108 字,大约阅读时间需要 3 分钟。

如今最流行的就是suds了,可是里面仍然有很多bug未修复。也好像没有人更新了
import sysfrom suds.client import Clientsys.setrecursionlimit(1500)test_url = 'http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl'url = 'http://localhost/IdentifierService.svc?

wsdl' client = Client(url, cache=None)

suds确实简单易用

可是执行后有错误,其它的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 ServiceProxyurl = 'http://localhost/IdentifierService.svc?wsdl'proxy = ServiceProxy.ServiceProxy(url)#是两个ServiceProxyperson = "{\    '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是借口文档提供的。还不能变~

转载于:https://www.cnblogs.com/yutingliuyl/p/6715660.html

你可能感兴趣的文章
Android第三方登录详解2
查看>>
JDK开发WebService
查看>>
基于HT for Web的3D呈现A* Search Algorithm
查看>>
在WinDBG中查看函数的反汇编代码的命令
查看>>
尚学堂java 答案解析 第四章
查看>>
VOA 2009.11.19-教育报道-美国大学创入学记录新高
查看>>
YunTable开发日记(9)- 0.2版的预览和今后的初步规划(转载)
查看>>
JQuery UI Widget Factory官方Demo
查看>>
C# 特性(Attribute)之Serializable特性
查看>>
函数参数的传递
查看>>
Directive全面分析
查看>>
UI设计
查看>>
CCScale9Sprite的使用
查看>>
[转]一步步教你如何在 Visual Studio 2013 上使用 Github
查看>>
操作系统理论与多道技术
查看>>
Flume和Kafka完成实时数据的采集
查看>>
Unity3d的截图功能
查看>>
编辑器多行编辑
查看>>
vim 删除重复部分的行 vim 技巧
查看>>
285. Inorder Successor in BST - Medium
查看>>