`
幽绿琵琶
  • 浏览: 63069 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Python访问WebService接口

阅读更多

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接口知识点详解 #### 一、基础知识概述 1. **Web Service**:一种跨编程语言和操作系统平台的远程调用技术,它通过HTTP协议提供服务,可以被任何其他系统调用。 2. **SOAP(Simple Object...

    Python基于xmlrpc的webservice服务以及在odoo中的使用

    ### Python基于XML-RPC的WebService服务以及在Odoo中的使用 #### XML-RPC简介与Python实现 XML-RPC(XML Remote Procedure Call)是一种轻量级的远程过程调用协议,它利用XML来编码调用数据和结果数据,并通过HTTP...

    python使用suds调用webservice接口的方法

    最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds  mac: sudo pip install suds  linux: easy_install suds 也可以通过去官网...

    axis2客户端调用webService接口,精简jar包

    本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...

    微信小程序访问webservice

    1. **创建WebService接口**:在.NET环境中,可以使用ASP.NET或WCF(Windows Communication Foundation)来创建WebService。编写一个公共方法,该方法处理接收和返回的数据。例如,你可以创建一个名为`GetUserData`的...

    根据访问路径和域名调用webService接口

    本主题将详细探讨如何根据访问路径和域名来调用Web Service接口,以及与之相关的源码和工具使用。 首先,理解Web Service的基本概念至关重要。Web Service是一种基于网络的、标准化的组件,它允许不同系统之间的...

    飞信WebService接口调用源码

    飞信WebService接口调用源码是一份用于学习和开发飞信相关应用的重要资源。飞信,全称为“中国移动飞信”,是由中国移动推出的一款融合通信服务,它允许用户通过短信、语音、即时消息等多种方式在手机和电脑之间进行...

    用Java程序访问Net WebService.doc

    * Apache Axis:一个开源的WebService 服务器端框架,支持多种编程语言,包括 Java、C#、Python 等。 * J2EE 1.4 环境中直接把无状态 Session Bean(EJB2.1)发布为 WebService:在 J2EE 1.4 环境中,可以将无状态 ...

    webservice、soap等接口调用参考

    "qq webservice调用"可能是指腾讯公司提供的Web服务接口,允许开发者集成QQ的相关功能,如社交分享、登录验证等。这些接口通常需要开发者注册并获取API密钥,然后按照指定的协议和方法进行调用。 参考代码.txt文件...

    python suds访问webservice服务实现

    Python中的SUDS库是用来访问和操作Web Service的工具,特别适用于SOAP协议。SUDS是Simple SOAP Client的缩写,由John Watkinson开发。它允许Python开发者方便地调用远程Web Service,处理复杂的XML数据,并且提供了...

    Python库 | PedalPi-WebService-0.3.0.tar.gz

    《Python库PedalPi-WebService-0.3.0详解》 在当今的软件开发领域,Python以其简洁、易读的语法以及丰富的库支持,已经成为后端开发的热门选择。本文将详细介绍一个名为PedalPi-WebService-0.3.0的Python库,这是一...

    WebService计算器的实例

    WebService是一种基于XML(可扩展标记语言)的开放标准,它使用SOAP(简单对象访问协议)作为传输协议,WSDL(Web服务描述语言)用于定义服务接口,以及UDDI(统一描述、发现和集成)作为服务注册机制。这些组件共同...

    python接口测试-持续集成实践

    1. **HTTP与WebService接口**:HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。WebService是一种通过SOAP(简单对象访问协议)或者REST(表述...

    python短信接口开发_python发送短信验证码通知_python短信demo示例 .docx

    Python 短信接口开发详解 Python 短信接口开发是指使用 Python 语言开发短信接口,以实现发送短信验证码通知等功能。下面将详细介绍 Python 短信接口开发的相关知识点。 短信接口类型 短信接口类型有很多,包括...

    WebService

    2. WSDL(Web Services Description Language):定义了WebService接口和其操作,描述了如何访问服务以及参数和返回值的数据格式。 3. UDDI(Universal Description, Discovery, and Integration):一种目录服务,...

    webservice二维码

    当我们将这两者结合时,便形成了一个名为"webservice二维码"的概念,即通过Web服务接口生成或读取二维码。 在"二维码 WebServices 接口"的场景下,开发者通常会创建一个Web服务,该服务提供API(应用程序编程接口)...

    访问webService

    总结起来,"访问WebService"涉及到了Web服务的基本概念、通信协议、接口定义、客户端生成、调用代码编写、错误处理和测试过程。理解并掌握这些知识对于任何需要与其他系统进行集成的开发者来说都至关重要。通过学习...

    webservice

    - **WSDL (Web Services Description Language)**:是一种基于XML的语言,用于描述WebService的接口和绑定细节,包括服务提供的消息格式、所使用的协议和服务的访问地址等。 ##### 2.4 UDDI - **UDDI (Universal ...

    WebService发送短信

    新浪提供了开放的API接口,允许开发者通过WebService接口向指定手机号码发送短信。在使用此服务前,你需要先在新浪的开发者平台上注册并获取API密钥。这个过程通常包括提供开发者信息、申请权限以及签署相关的服务...

    webService集成接口demo

    一旦部署成功,可以通过访问服务的WSDL(Web Service Description Language)地址来检查接口是否可用。WSDL文件是一个XML文档,描述了服务的接口、消息格式、操作和地址等信息。在本例中,可以访问`http://IP:端口/...

Global site tag (gtag.js) - Google Analytics