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?

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 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是借口文档提供的。还不能变~

时间: 2024-10-24 04:12:45

python 訪问webservice的相关文章

python訪问redis

python訪问redis 1 Linux上安装redis a) 下载 $ wget http://download.redis.io/releases/redis-3.0.5.tar.gz b) 编译 # yum install gcc tcl # tar -zxf redis-3.0.5.tar.gz # cd redis-3.0.5 # make # make test # sudo make install 这样可运行文件redis-server等就从redis-3.0.5/src复制到

基于jdk wsimport工具訪问外部webservice

一.Wsimport简单介绍 Wsimport是jdk自带的.能够依据wsdl文档生成客户点调用代码的工具. 不管server端的webservice是用什么语言写的,都将在client生成java代码. server端用什么语言写的并不重要. Wsimport位于JAVA_HOME/bin文件夹下.Wsimport经常使用的參数有: -d<文件夹>  --将生成.class文件. 默认參数 -s<文件夹>  --将生成.java文件. -p<生成的新包名>  --将生

訪问远程WAMP 下phpmyadmin

WAMP环境是一个非常优秀的webservice集成环境,它集成的phpmyadmin也是一款非常优秀的数据库訪问软件.wamp默认安装下,phpmyadmin工具仅仅能本地用,在站点开发中,数据库都是在另外的server上,那么wamp下怎样訪问呢? 文章带来"怎样訪问远程wamp下的phpmyadmin?" wamp2.5(32bit)环境 集成环境版本号(Apache : 2.4.9 MySQL : 5.6.17 PHP : 5.5.12 PHPMyAdmin : 4.1.14

通过rinetd实现port转发来訪问内网的服务

一.   问题描写叙述 通过外网来訪问内网的服务 二.   环境要求 须要有一台能够外网訪问的机器做port映射.通过数据包转发来实现外部訪问阿里云的内网服务 三.   操作方法 做port映射的方案有非常多.Linux下的ssh tunnel和windows下的portmap等等,这里分享一个更稳定和简单的小工具rinetd 四.   下载安装 $ wget http://www.boutell.com/rinetd/http/rinetd.tar.gz $ tar -xvf rinetd.t

使用Hadoop ACL 控制訪问权限

使用Hadoop ACL 控制訪问权限 一.HDFS訪问控制 hdfs-site.xml设置启动acl <property> <name>dfs.permissions.enabled</name> <value>true</value> </property> <property> <name>dfs.namenode.acls.enabled</name> <value>true&l

怎样訪问pcie整个4k的配置空间

眼下用于訪问PCIe配置空间寄存器的方法须要追溯到原始的PCI规范. 为了发起PCI总线配置周期,Intel实现的PCI规范使用IO空间的CF8h和CFCh来分别作为索引和数据寄存器,这样的方法能够訪问全部PCI设备的255 bytes配置寄存器.Intel Chipsets眼下仍然支持这样的訪问PCI配置空间的方法. PCIe规范在PCI规范的基础上,将配置空间扩展到4K bytes,至于为什么扩展到4K,详细能够參考PCIe规范,这些功能都须要配置空间.原来的CF8/CFC方法仍然能够訪问全

ios 7.1 7.1.1 半完美越狱后 电脑訪问手机越狱文件夹的方法

7.1和7.1.1因为越狱不成熟,半完美越狱后电脑上无法訪问系统越狱文件夹,如var usr 等等. 今天有些意外地发现,能够在电脑上使用手机的越狱文件夹我手机 i4 7.1.1 联通 半完美越狱,没装Afc2Add,也没装Appsync 附上  --->我的半完美越狱过程 好了,以下直接正题 一.前提,必须安装ifile!     打开ifile,并转到 /var/mobile/media 文件夹下,然后点击右上角的 [ 编辑 ]如图: 二.点左下角的 + 号创建,如图: 三.点 [ 类型],

C++ 訪问控制权限图解

基类訪问权限 类继承方式 子类訪问权限           public   public   protected public protected   private   No Access   public   protected   protected protected protected   private   No Access   public   private   protected private private   private   No Access          

NGINX之——配置HTTPS加密反向代理訪问–自签CA

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46695495 出于公司内部訪问考虑,採用的CA是本机Openssl自签名生成的,因此无法通过互联网工信Root CA验证,所以会出现该站点不受信任或安全证书无效的提示.直接跳过,直接訪问就可以! HTTPS的原理和訪问过程: server必要条件 一个server私钥 KEY文件 一张与server域名匹配的CA证书(公钥,依据私钥key生成) 訪问过程: 1,client浏览器