Python suds访问webservice服务实现
简介
suds
是Python中的一个SOAP协议的客户端库,它可以让Python程序直接与基于SOAP协议的Web Service交互。
安装
- 使用pip安装suds:
pip install suds
- 如果安装出现问题,可以从suds官网下载源代码进行安装:
python setup.py install
使用步骤
- 导入相关的模块:
python
from suds.client import Client
- 创建
suds
的客户端对象,指定WSDL文件地址:
python
url = "http://xxxx.xxx.xx/xxxxxxx.svc?wsdl"
client = Client(url)
其中,url
是Web Service的WSDL文件地址,client
就是SUDS客户端对象。
- 调用Web Service方法:
python
result = client.service.WebServiceMethod(param1, param2)
其中,WebServiceMethod
是Web Service的方法名称,param1
和param2
是方法的参数,result
是方法的返回值。
示例
示例1:计算两个数的和
假设有一个Web Service,提供了计算两个数的和的方法add
,现在需要通过Python的suds
库来调用此方法。
- 打开Windows的PowerShell终端,执行以下命令:
New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?WSDL" -Namespace CalculatorWebService
该命令将生成一个名为CalculatorWebService
的.NET Web Service代理,其中包含了所有方法的定义、参数和返回值。
- 打开Python解释器,导入suds库,创建客户端:
```python
from suds.client import Client
url = "http://www.dneonline.com/calculator.asmx?WSDL"
client = Client(url)
```
- 调用Web Service方法
Add
:
python
result = client.service.Add(3, 5)
print(result)
这里传入的参数为3和5,输出结果为8。
示例2:获取中国气象数据
假设有一个Web Service,提供了获取中国气象数据的方法getWeather
,现在需要通过Python的suds
库来调用此方法。
-
打开中国气象数据查询平台,复制WSDL地址。
-
打开Python解释器,导入suds库,创建客户端:
```python
from suds.client import Client
url = "http://www.webxml.com.cn/WebServices/ChinaWeatherWebService.asmx?wsdl"
client = Client(url)
```
- 调用Web Service方法
getSupportCityString
获取所有支持的城市:
python
result = client.service.getSupportCityString()
print(result)
输出所有支持的城市列表。
- 调用Web Service方法
getWeather
获取指定城市的气象数据:
python
result = client.service.getWeather('北京', '')
print(result)
这里传入的参数为'北京'和空字符串,输出结果为指定城市的天气信息。
总结
通过suds库,Python程序可以方便地与基于SOAP协议的Web Service交互。通过上述示例,可以快速了解如何使用suds库调用Web Service方法。
END
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python suds访问webservice服务实现 - Python技术站