什么肥皂客户库存的蟒蛇,并在那里是文件为他们?[关闭]
-
03-07-2019 - |
解决方案
更新(2016年):
如果你只需要肥皂客户,以及维持图书馆叫 zeep.它支持这两个蟒蛇2和3)
更新:
另外为什么是上面提到,我将指 蟒蛇Web服务 页面,该页面始终是最新的所有积极维护和建议模块 肥皂 和所有其他的服务类型。
不幸的是,此刻,我不认为这是一个"最佳"蟒肥皂图书馆。每一个的主流的那些具有其自己的利弊。
旧的图书馆:
"新的"图书馆:
泡沫:非常功能已大大增强,容易造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邮件列表中讨论:
正如我建议这里我建议你自己动手。它实际上并不那么困难,我怀疑这就是没有更好的Python SOAP库的原因。
在我的结论中我们有:
肥皂客户端:
仅使用 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中的几个文件(关于标题代码位于错误的位置),但除此之外,它还可以非常可靠地继续这样做。