WebServices 接口类型
什么是Webservices接口
基于SOA【面向服务的体系架构】理念,采用XML+SOAP+HTTP协议来实现的接口规范
接口示例:http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl
封装调用方法
from suds import client
from loguru import logger
class webServices:
def _ _init_ _(self, url: str):
"""
初始化 webServices连接
:param url:webservices wsdl地址
"""
try:
logger.info(f"初始化连接webServices地址:{url}")
self.web_s = client.Client(url=url)
logger.info("初始化连接成功;客户对象信息如下:")
logger.info(f"{self.web_s}")
except:
logger.warning(f"初始化webServices连接失败;连接url:{url}")
示例
webservices_url = 'http://ws.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl'
web_s = webServices(url=webservices_url)
result = web_s.web_s.service.qqCheckOnline("")
print(result)
使用Client连接成功后,webservices接口所携带的所有方法都可以通过“web_s.service.XXX”来进行调用
webServices自带方法[client.Client]
方法 | 注释 |
---|---|
set_options | 设置选项 |
add_prefix | 将XML命名空间前缀的静态映射添加到命名空间。这对于wsdl和引用模式大量使用命名空间并且这些命名空间可能会被更改的情况非常有用 |
last_sent | 获取最后发送的soap信息。 |
last_received | 获取最后收到的soap信息。 |
clone | 获取此对象的浅克隆。克隆只共享WSDL。所有其他属性对克隆对象都是唯一的,包括选项。 |
items | 从suds对象中提取项目,就像items()方法在dict上工作一样 |
dict | 将sudsobject转换为字典 |
metadata | 从suds对象中提取元数据。 |