python suds访问webservice服务实现

Python suds访问webservice服务实现

简介

suds是Python中的一个SOAP协议的客户端库,它可以让Python程序直接与基于SOAP协议的Web Service交互。

安装

  1. 使用pip安装suds:

pip install suds

  1. 如果安装出现问题,可以从suds官网下载源代码进行安装:

python setup.py install

使用步骤

  1. 导入相关的模块:

python
from suds.client import Client

  1. 创建suds的客户端对象,指定WSDL文件地址:

python
url = "http://xxxx.xxx.xx/xxxxxxx.svc?wsdl"
client = Client(url)

其中,url是Web Service的WSDL文件地址,client就是SUDS客户端对象。

  1. 调用Web Service方法:

python
result = client.service.WebServiceMethod(param1, param2)

其中,WebServiceMethod是Web Service的方法名称,param1param2是方法的参数,result是方法的返回值。

示例

示例1:计算两个数的和

假设有一个Web Service,提供了计算两个数的和的方法add,现在需要通过Python的suds库来调用此方法。

  1. 打开Windows的PowerShell终端,执行以下命令:

New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?WSDL" -Namespace CalculatorWebService

该命令将生成一个名为CalculatorWebService的.NET Web Service代理,其中包含了所有方法的定义、参数和返回值。

  1. 打开Python解释器,导入suds库,创建客户端:

```python
from suds.client import Client

url = "http://www.dneonline.com/calculator.asmx?WSDL"
client = Client(url)
```

  1. 调用Web Service方法Add

python
result = client.service.Add(3, 5)
print(result)

这里传入的参数为3和5,输出结果为8。

示例2:获取中国气象数据

假设有一个Web Service,提供了获取中国气象数据的方法getWeather,现在需要通过Python的suds库来调用此方法。

  1. 打开中国气象数据查询平台,复制WSDL地址。

  2. 打开Python解释器,导入suds库,创建客户端:

```python
from suds.client import Client

url = "http://www.webxml.com.cn/WebServices/ChinaWeatherWebService.asmx?wsdl"
client = Client(url)
```

  1. 调用Web Service方法getSupportCityString获取所有支持的城市:

python
result = client.service.getSupportCityString()
print(result)

输出所有支持的城市列表。

  1. 调用Web Service方法getWeather获取指定城市的气象数据:

python
result = client.service.getWeather('北京', '')
print(result)

这里传入的参数为'北京'和空字符串,输出结果为指定城市的天气信息。

总结

通过suds库,Python程序可以方便地与基于SOAP协议的Web Service交互。通过上述示例,可以快速了解如何使用suds库调用Web Service方法。

END

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python suds访问webservice服务实现 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python练习-购物单

    Python练习-购物单是一道经典的Python编程题目,考验了应用者对Python基本语法的掌握程度以及对控制流、函数和数据类型等相关知识的理解。为了帮助大家完成这个练习,以下是完整的攻略说明。 题目描述 本练习的目标是根据一份购物清单,计算出一个人需要支付的总价。清单格式如下: 苹果 4.5 元/kg 香蕉 3.8 元/kg 西瓜 7.5 元/kg ..…

    python 2023年6月3日
    00
  • 如何利用python将一个py文件变成一个软件详解

    将Python程序转化为独立可执行文件可以方便程序的分发和使用。下面是一些关于如何利用Python将一个.py文件打包成应用程序的详细攻略。 一、PyInstaller的安装 我们可以使用PyInstaller这个第三方库来将Python程序转化为独立可执行文件。首先需要安装PyInstaller,安装方式如下: pip install pyinstalle…

    python 2023年5月18日
    00
  • Python线程编程之Thread详解

    Python线程编程之Thread详解 前言 线程是计算机科学中一个非常重要的概念。线程可以简单理解为一个轻量级的进程。它是操作系统能够进行运算调度的最小单位,在单个程序内部也可以实现并发性。Python作为一种非常流行的编程语言,也提供了一些非常方便的线程编程工具。 本文将详细讲解Python线程编程中的Thread类,包括Thread类的定义、线程的生命…

    python 2023年5月14日
    00
  • Python正则表达式知识汇总

    我可以详细讲解一下“Python正则表达式知识汇总”的攻略。这里将分为以下几个部分进行讲解: 正则表达式的基础知识 正则表达式是一种用于匹配字符串的工具,在Python中使用re模块来支持正则表达式。在正则表达式中,我们常常使用以下元字符: . 表示匹配任意单个字符,除了换行符 ^ 表示匹配字符串的起始位置 $ 表示匹配字符串的结尾位置 * 表示匹配前面的字…

    python 2023年5月14日
    00
  • python如何利用turtle绘制正方形

    利用Turtle库绘制正方形可以通过以下步骤进行: 引入Turtle库 在Python代码中,首先需要引入Turtle库。可以使用以下语句来实现: import turtle 创建画布 使用以下语句创建一个画布: canvas = turtle.Screen() 创建一个画笔 创建Turtle对象,表示一个画笔: pen = turtle.Turtle() …

    python 2023年5月18日
    00
  • python2与python3爬虫中get与post对比解析

    Python2与Python3爬虫中GET与POST对比解析 在Python爬虫中,GET和POST是两种常用的HTTP请求方法。GET请求用于从服务器获取数据,而POST请求用于向服务器提交数据。本文将对Python2和Python3中的GET和POST进行对比解析。 Python2中的GET和POST GET请求 在Python2中,我们可以使用urll…

    python 2023年5月15日
    00
  • Python 如何手动编写一个自己的LRU缓存装饰器的方法实现

    下面我将详细讲解如何手动编写一个自己的LRU缓存装饰器的方法实现。 什么是LRU缓存? LRU(Least Recently Used)最近最少使用缓存,是一种缓存淘汰算法。其基本思想是:如果数据最近被访问过,那么在未来一段时间内被访问的概率也更高。 在Python中,我们可以用字典(dictionary)或者列表(list)等数据结构来实现LRU缓存。 在…

    python 2023年6月3日
    00
  • python中对正则表达式re包的简单引用方式

    在Python中,re模块提供了对正则表达式的支持。使用re模块,可以方便地进行字符串的匹配、查找、替换和分割等操作。下面是Python中对正则表达式re包的简单引用方式的完整攻略。 正则表达式语法 在使用re模块之前,需要了解正则表达式的语法。正则表达式是一种用于描述字符串模式的语言,它由一些特殊字符和普通字符组成。下面是一些常用的正则表达式特殊字符: .…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部