关于StackOverflow上的python SOAP客户端存在很多问题。但是,他们都已经3岁多了。
问题是当前主动维护哪些python SOAP客户端库?
我找到的唯一一个是PySimpleSOAP。还有其他人吗?
答案 0 :(得分:6)
查看Python Wiki page on Web Services。您可以单击各个项目并查看它们上次更新的时间。例如,ZSI (Zolera Soap Infrastructure)上次更新时间为2013-05-02。
答案 1 :(得分:5)
TL; DR:
答案很长:
我打算在2016年发布一个更新的请求,因为看起来上面的一些内容现在也已经放弃了。
根据Python WebServices,有许多SOAP客户端:
ZSI(Zolera Soap Infrastructure) - 积极维护的Python Web服务项目的一个版本; ZSI-2.0发布于2007-02-02,提供客户端和服务器SOAP库。最新添加的是复杂类型的正确WSDL消费到python类中。
soaplib - Soaplib是一个易于使用的python库,用于编写和调用soap Web服务。使用soaplib编写的Webservices简单,轻量级,可以与其他SOAP实现一起使用,并且可以部署为WSGI应用程序。
suds - Suds是一个轻量级的SOAP python客户端,它为Web服务提供服务代理。
pysimplesoap - PySimpeSoap是一个简单而实用的客户端/服务器。它的目标是:易用性和灵活性(无需类,自动生成的代码或xml),WSDL内省和生成,WS-I标准合规性,兼容性(包括Java AXIS,.NET和Jboss WS)。它被包含在Web2Py中以启用全栈解决方案(补充其他支持的协议,如XML_RPC,JSON,AMF-RPC等)。
osa - osa是一个快速/纤薄易用的SOAP python客户端库。
Ladon Ladon是一种创建Web服务的多协议方法。创建一个服务并将其公开给多个服务协议,包括SOAP。与大多数其他基于Python的SOAP服务实现不同,Ladon为您的Web服务动态生成WSDL文件。这是可能的,因为每个webservice方法的参数类型都是通过ladonize装饰器定义的。此外,应该提到Ladon提供python 3支持。
zeep - Zeep是一个基于lxml和请求构建的现代(2016)和高性能SOAP客户端。它与Python 2和3兼容。
截至撰写本文时(2016年末),其中大部分似乎已过时(仅支持SOAP1.1),并且按照提交历史记录,自2015年以来甚至更早都没有得到维护。这尤其适用于ZSI
,osa
和suds
。
唯一的例外似乎是zeep
,它在2016年末积极维护,提供SOAP1.2支持(以及所有Python版本) - 至少在我的情况下,完全开箱即用我向它扔了一些WSDL的那一刻。
更新:虽然我不打算不断回去编辑此页面(我邀请 zeep 的作者这样做) ,我想补充说,我上次更新后的2年 zeep 仍然非常积极地维护,最新提交于2018年12月。它支持Python高达3.7,目前版本为3.2.0(已离开)很久以前的0.x预发布版本)。在我必须使用XML-SOAP而不是REST的极少数情况下,它仍然是我的主要库。
答案 2 :(得分:0)
没有积极维护,真的...但是,如果仍然对python SOAP客户端解决方案感兴趣,我强烈建议尝试suds