我从来没有用 肥皂 以前和我有些新的要素。我这么做是让自己熟悉这两种技术。我已经安装了 SOAPlib 我试图阅读他们的 客户 文档,但我不明白,太好了。还有什么我可以看看哪个更适合于被一个肥皂Client library为蟒蛇?

编辑:只要的情况下,它可以帮助,我使用的是蟒蛇2.6.

有帮助吗?

解决方案

更新(2016年):

如果你只需要肥皂客户,以及维持图书馆叫 zeep.它支持这两个蟒蛇2和3)


更新:

另外为什么是上面提到,我将指 蟒蛇Web服务 页面,该页面始终是最新的所有积极维护和建议模块 肥皂 和所有其他的服务类型。


不幸的是,此刻,我不认为这是一个"最佳"蟒肥皂图书馆。每一个的主流的那些具有其自己的利弊。

旧的图书馆:

  • 肥皂:是"最佳",而不再保留。不工作上的蟒蛇2.5+

  • ZSI:非常痛苦的使用和发展是缓慢的。有一个模块名为"SOAPpy",这不同于肥皂(同上)。

"新的"图书馆:

  • 泡沫:非常功能已大大增强,容易造WSDL费肥皂的客户。创造肥皂服务器是一点更加困难。(这包不会的工作与Python3.为Python3看到泡沫-py3)

  • 泡沫-py3:该Python3版本的泡沫

  • spyne:创建服务器是容易的,建立的客户多一点具有挑战性。文件是有点缺乏。

  • 拉顿:创建服务器是更喜欢在soaplib(使用装饰).拉顿公开更多的接口比肥皂在同一时间,没有额外的用户代码的需要。

  • pysimplesoap:非常轻便但有用的客户和服务器-包括web2py服务器的整合,船舶与web2py.

  • SOAPpy:不同的被遗弃的SOAPpy托管在ZSI链接上,这个版本其实一直维持到2011年,现在它似乎被遗弃了。
  • soaplib:易于使用的python库来编写和调用肥皂网服务。Web服务编写soaplib是简单的,轻质、工作及与其他的肥皂实现,并可以通过应用。
  • osa:一个快速/超薄易于使用的肥皂蟒蛇客户的图书馆。

上述,我只用肥皂水就个人而言,我喜欢它很多。

其他提示

我遵循了对此问题的其他答案的建议,并尝试 SUDS 。在使用它之后“愤怒地”使用它我必须同意:SUDS非常好!强烈推荐!

我在代理服务器后面调用基于HTTPS的Web服务时遇到了麻烦。在撰写本文时,这会影响使用 urllib2 所有 Python Web服务客户端,因此我将在此处记录解决方案。

使用python 2.6.2及更低版本附带的 urllib2 模块不会向代理发出HTTP代码会话的 CONNECT 。这会导致超时,或者如果幸运的话,会出现如下错误:

abort: error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

这是Python错误跟踪器上的 issue1424152 。 bug报告中附有补丁,可以在Python 2.x和Python 3.x中修复此问题。 问题已修复

我对SUDS有很好的经验 https://fedorahosted.org/suds

使用他们的TestSuite作为文档。

SUDS是可行的方式,毫无疑问。

对于正在查看SUDS的人来说只是一个FYI警告,在此故障单解决之前,SUDS不支持“选择”。 WSDL中的标记:

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

请参阅: suds和choice tag

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

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

如果有人正在学习SOAP或想要调查它,我认为这是一个很好的选择。

我相信soaplib已经弃用了它的SOAP客户端('sender')而不赞成suds。此时,soaplib专注于成为一个与Web框架无关的SOAP服务器('receiver')。目前,soaplib正在积极开发中,通常在Python SOAP邮件列表中讨论:

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

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

肥皂水很不错。我尝试过SOAPpy但是并没有按照我需要的方式工作,而肥皂水则非常直接。

我的结论中我们有:

肥皂客户端:

仅使用 Suds-jurko ( 2016年更新) 泡沫很好地维护和更新。

UPDATE 06/2017: suds-jurko图书馆未更新且显然已经放弃了

我测试了 zeep 库但是在令牌周围有限制,现在只支持UsernameToken,i报告错误以创建时间戳令牌,作者更新代码以修复它。

Zeep开始很好并且有良好的文档,所以我最近将我的代码从suds迁移到zeep并正常工作。

肥皂服务器端:

我们有TGWS,soaplib(未经过测试的pysimplesoap)恕我直言的使用和帮助soaplib必须是选择。

致以最诚挚的问候,

这有用吗: http://users.skynet .BE / pascalbotte / RCX-WS-DOC / python.htm#SOAPpy的

我通过搜索 wsdl python 找到了它,理性存在,你需要一个SOAP服务器的wsdl描述来做任何有用的客户端包装器。 ...

我们使用了来自 Python Web Services 的SOAPpy,但似乎ZSI(相同来源)是替换它。

我在生产环境中使用SOAPpy和Python 2.5.3。

我不得不手动编辑SOAPpy中的几个文件(关于标题代码位于错误的位置),但除此之外,它还可以非常可靠地继续这样做。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top