python调用webservice接口
使用suds这个第三方模块
from suds.client import Client
url = 'http://ip:port/?wsdl'
cilent=Client(url)
print cilent
查看webservice接口的具体信息:
调用接口方法,通常 client.service.methodname
实际测试过程中遇到的坑:
1、tns 值为Localhost

之前查看接口信息时,未发现tns="http://Localhost:4567/Interface.wsdl",这个被设置成Localhost,导致通过接口调用时,只能在webservice接口本地服务器上才能调用成功,其他服务器调用时,接口中的方法都无法获取。大坑!
解决方法:修改webservice接口对应的wsdl文件 Interface.wsdl,将其中的Localhost改成具体ip即可。
2、接口方法名不符合python命名规范

比如上述的方法,无法直接这样调用 
解决办法:python内置函数getattr 。 getattr(cilent.service,'ser-GetAreaID')('1')
3、接口方法传参

此方法为例
1、方法一:
soap_rep=getattr(soapService, 'ser-SetValue')(nSetFlag=1,nSystemID=1,nRecordNo=440002028,nTableNo=18,cValue='225',UserName='admin')
2、方法二:
soap_rep=getattr(soapService, 'ser-SetValue')(1,1,440002028,18,'225','admin') # 需要一一对应
python调用webservice接口的更多相关文章
- python开发笔记-python调用webservice接口
环境描述: 操作系统版本: root@9deba54adab7:/# uname -a Linux 9deba54adab7 --generic #-Ubuntu SMP Thu Dec :: UTC ...
- Python的Web编程[2] -> WebService技术[0] -> 利用 Python 调用 WebService 接口
WebService技术 / WebService Technology 1 关于webservice / Constants WebService是一种跨编程语言和跨操作系统平台的远程调用技术. W ...
- 用Python写WebService接口并且调用
一.用ladon框架封装Python为Webservice接口 另用soaplib实现请看: http://www.jianshu.com/p/ad3c27d2a946 功能实现的同时,希望将接 ...
- 用ladon框架封装Python为Webservice接口以及调用接口的方法
一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- php中创建和调用webservice接口示例
php中创建和调用webservice接口示例 这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservi ...
- 关于python测试webservice接口的视频分享
现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...
- 使用soapui调用webservice接口
soapui是专门模拟调用webservice接口的工具,下面介绍下怎么使用: 1.下载soapui并安装: 2.以免费天气获取接口为例:http://www.webservicex.net/glob ...
- 使用JS调用WebService接口
<script> $(document).ready(function () { var username = "admin"; var password = &quo ...
随机推荐
- Spring 自动装配及其注解
一.属性自动装配 首先,准备三个类,分别是User,Cat,Dog.其中User属性拥有Cat和Dog对象. package com.hdu.autowire; public class User { ...
- Redis无法启动
我的原因是:没有足够的可用空间 以往双击redis-server.exe就可以启动,但突然启动不了,只是弹出控制台一闪而过,之后就自动关闭了, 因为没看到具体错误,百度了下关键字”Redis无法启动“ ...
- BBS项目详解(forms快速创建登陆页面,登陆验证、通过阅读器进行头像上传的预览、内存管理器)
BBS项目涉及的知识点 django中知识点 钩子函数(局部钩子和全局钩子) 1.局部钩子就是用来做合法性校验,比如用户名有没有被使用等 2.全局的就是用来做对比校验,比如两次输入的密码是否一致 3. ...
- 学习笔记TF039:TensorBoard
首先向大家和<TensorFlow实战>的作者说句不好意思.我现在看的书是<TensorFlow实战>.但从TF024开始,我在学习笔记的参考资料里一直写的是<Tenso ...
- DataTable与DataSet之间的转换Class
using System;using System.Collections.Generic;using System.Data;using System.Linq; namespace Convert ...
- C# EasyHook MessageBox 示例(极简而全)
完整代码,原创无藏私,绝对实用.Windows10 X64 下调试通过,对 w3wp.exe, sqlserver.exe,notepad.exe,iexporer.exe 注入后,长时间运行稳定,未 ...
- Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven
一.配置Maven环境 1.下载apache-maven文件,选择自己需要的版本,地址:Apache 官方下载地址是http://maven.apache.org/download.cgi 2.下载并 ...
- Property referenced in indexed property path is neither an array nor a List nor a Map
记一次传参请求报错,没有解决 Invalid property 'distributeCars[0][ackStatus]' of bean class [com.api6.plate.prototy ...
- 装完Centos7提示Initial setup of CentOS Linux 7 (core)
在用U盘装完CentOS后,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License inf ...
- Reference.svcmap: Could not load file or assembly
Reference.svcmap: Could not load file or assembly 在添加服务的时候出现如上错误, 把这个勾去掉就可以了.