1.使用Python访问WebService远程方法
1)安装Sud库 https://fedorahosted.org/suds/ 下载 tarball
2)示例代码如下:
from suds.client import Client from suds.transport.https import HttpAuthenticated t = HttpAuthenticated(username=’admin’,password=’123′) test = Client(‘http://xxx.xxx.xx.xxx:8080/WebService/ws/DeviceManageService?wsdl',transport=t) print test #查看远程方法 print test.service.getDeviceList() #getDeviceList为WebService提供的接口
2. 构造WebService接口需要的参数
1)简单调用,无参数的情况
client=Client(url) client.service.fun()
2)传递对象参数(方法1)
通过查看远程方法,发现fun 接口的参数类型为 paramType,有p1,p2两个属性
client=Client(url) m=client.factory.create('paramType') m.p1="param 1" m.p2="param 2" result=client.service.fun(m) print result
3)传递对象参数(方法2)
client=Client(url) m={"p1":param 1","p2":"param 2"} print client.service.fun(m)
4)suds把异常包装成元组输出
client=Client(url) client=Client(url, faults=False) result=client.service.funIn("error param") print result
3. 看懂WebService的WSDL描述文件
1)查看WebService提供的接口
标签 wsdl:operation 中的 name 表示提供的接口名称,每个接口包含 wsdl:input 和 wsdl:output 两个部分,可以理解为输入消息和输出消息。
wsdl:input 相当于接口的输入参数,wsdl:output 相当于接口的返回结果。
2)查看WebService提供的接口的参数
找 wsdl:message 标签中 与 接口名称相同的项,比如:
<wsdl:message name="getDevice"> <wsdl:part element="tns:getDevice" name="parameters"> </wsdl:part> </wsdl:message>
其中关键词 element="tns:getDevice" ,name="parameters"
继续查看 xs:complexType 标签中与"tns:getDevice" 冒号后面的字符相匹配的标签,比如:
<xs:complexType name="getDevice"> <xs:sequence> <xs:element minOccurs="0" name="deviceId" type="xs:string"/> </xs:sequence> </xs:complexType>
xs:element标签描述的内容即参数的属性,这里是要求输入deviceId,参数类型为string。
即接口原型为 getDevice(string deviceId)
3)如果xs:element 标签的type的值包含"tns:“前缀(如type="tns:param"),说明这个参数是个复合结构,需要继续查找xs:complexType标签中 与”param“相匹配的标签项,依次类推。
相关推荐
python调用WEBSERVICE接口
Python调用WebService接口实例
一、使用python3做webervice接口测试的第三方库选择suds-jurko库,可以直接pip命令直接下载,也可以在pypi官网下载压缩包进行手动安装 二、安装好后,导入Client:from suds.client import Client。发送一条请求 ...
主要介绍了python调用webservice接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
.net调用webservice接口例子.net调用webservice接口例子.net调用webservice接口例子.net调用webservice接口例子
Python基于xmlrpc的webservice服务以及在odoo中的使用
基于idea开发的简单webservice接口实例,test1为服务端配置了webserivice接口;test2为客户端,通过AXIS方式访问接口,Soap方式服务端能接收到请求信息,但客户端返回信息警告,有兴趣的可以研究一下;带AXIS和soap...
HTTP接口和WebService接口
java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在
webservice接口调用实例,经个人验证可用
自己总结的java webService接口开发案例,希望能够帮助我需要的朋友。
1.概述 2.接入说明 3.接口方法概述 4.接口方法详述 4.1.接口方法1(Test1) 4.2.接口方法2(Test2) 4.3.接口方法3(Test3) 5.代码映射表 5.1. 代码表1 5.2. 代码表2 5.3. 代码表3
.NET Webservice Studio是一种以交互方式调用Web方法的工具。 用户可以提供WSDL端点。 单击按钮获取工具获取WSDL,从WSDL生成.NET代理并显示可用方法列表。 用户可以选择任何方法并提供所需的输入参数。 在单击...
在Android中访问WebService接口
VS2013、C++语言、SOAP实现调用webservice接口,接口包括上传文件、日志、获取消息等等。全部源码+DEMO示例
接口使用SOAP协议头用户验证(使用SoapHeader),以https的方式访问接口所需添加的jar包
微信小程序访问webservice,包含小程序代码和webservice接口代码
Python调用webservice接口包工具