我以前从未使用过SOAP,对Python也有点陌生。我这样做是为了让自己熟悉这两种技术。我已经安装了soapplib,并试图阅读他们的客户端文档,但我不太理解它。是否还有其他更适合作为Python的SOAP客户端库的东西?

编辑:为了以防万一,我使用的是Python 2.6。


当前回答

我使用SOAPpy与Python 2.5.3在生产设置。

我不得不手动编辑SOAPpy中的几个文件(关于头代码在错误的地方),但除此之外,它工作并继续这样做非常可靠。

其他回答

我的结论是:

Soap客户端:

只使用sds -jurko(更新2016年) Suds得到了良好的维护和更新。

更新06/2017:sds -jurko库没有更新,显然被放弃了,

我测试了zeep库,但得到了围绕令牌的限制,到目前为止只支持UsernameToken,我报告了一个错误,以创建时间戳令牌和作者更新代码来修复它。

Zeep开始良好,有良好的文档,所以我最近迁移我的代码从suds到Zeep,工作良好。

Soap服务器端:

我们有TGWS, soaplib (pysimplesoap未测试)IMHO使用和帮助soaplib必须是选择。

最好的问候,

我们使用了来自Python Web Services的SOAPpy,但似乎ZSI(同一来源)正在取代它。

http://users.skynet.be/pascalbotte/rcx-ws-doc/python.htm#SOAPPY有帮助吗

我通过搜索wsdl和python找到了它,理性的是,您将需要SOAP服务器的wsdl描述来执行任何有用的客户端包装....

毫无疑问,sudds是正确的选择。

SUDS易于使用,但不能保证可再入。如果您在线程应用程序中保留WSDL Client()对象以获得更好的性能,则会涉及一些风险。此风险的解决方案是clone()方法,它会抛出不可恢复的Python 5508错误,该错误似乎打印了异常,但并没有真正抛出异常。可能会让人困惑,但它很有效。它仍然是迄今为止最好的Python SOAP客户机。