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

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


当前回答

只是供大家参考的警告,在此问题解决之前,SUDS不支持WSDL中的“choice”标签:

https://fedorahosted.org/suds/ticket/342

看到的: 肥皂水和选择标签

其他回答

我相信soapplib已经弃用了它的SOAP客户端('sender'),转而使用了suds。在这一点上,soapplib专注于成为一个与web框架无关的SOAP服务器(“接收器”)。目前,soapplib正在积极开发中,通常在Python SOAP邮件列表中讨论:

http://mail.python.org/mailman/listinfo/soap

正如我在这里建议的,我建议你自己卷。它实际上并没有那么难,我怀疑这就是没有更好的Python SOAP库的原因。

我们发布了一个新的库:PySimpleSOAP,它提供了对简单实用的客户端/服务器的支持。它的目标是:易用性和灵活性(不需要类、自动生成代码或xml)、WSDL自省和生成、符合WS- i标准、兼容性(包括Java AXIS、. net和Jboss WS)。它被包含在Web2Py中,以支持全栈解决方案(补充其他支持的协议,如XML_RPC、JSON、AMF-RPC等)。

如果有人正在学习SOAP或想要研究它,我认为这是一个很好的开始。

我的结论是:

Soap客户端:

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

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

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

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

Soap服务器端:

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

最好的问候,

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

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