使用 lxml 和请求构建的 SOAP 客户端。
项目描述
Rinse是一个使用lxml、requests和defusedxml的 Python SOAP 客户端。
Rinse适用于 Python 2 和 Python 3。针对最新的 python 2.7、python 3.3 和 python 3.4 版本执行持续集成测试。
“冲洗”这个名称是指它的字典含义,例如用水去除某物上的肥皂水的行为。
漂洗的目标是成为一个 SOAP 客户端,专注于通过 HTTP/HTTPS 对服务进行 SOAP 调用所需的最少功能集。提供对常见 SOAP 扩展的支持,包括 WSA (WS-Addressing) 和 WSSE (WS-Security)。Rinse原则上支持 WS-I Basic Profile Version 2.0 规范,但根据下面概述的进一步目标和约束,采用务实的方法来实现合规性。
不支持将冲洗用作 SOAP 服务(SOAP 服务器)的一部分。我们建议服务器应使用 JSON 通过 RESTful HTTP(S) 进行数据交换,而不是提供 SOAP 服务。而且我们不是唯一的——谷歌早在 2009 年就宣布了放弃 SOAP 的计划。
通过使用defusedxml库解析 XML 数据来提高安全性,从而最大限度地减少与解析和处理来自不受信任来源的数据相关的风险。TODO:SSL 证书固定,以确保使用冲洗的客户端仅向目标服务器披露信息并解析来自目标服务器的信息。
Rinse 支持针对给定 WSDL 文件中以 XSD(XML 模式定义)格式指定的模式验证 SOAP 消息,但不能在运行时生成 SOAP 服务绑定。未来的开发可能会支持以 Python 源文件的形式从 WSDL 生成绑定。不太可能支持动态(运行时)绑定。