Python 有哪些 SOAP 客户端库?它们的文档在哪里?[关闭]

2025-01-20 09:07:00
admin
原创
85
摘要:问题描述:我以前从未使用过SOAP,而且对 Python 也比较陌生。我这样做是为了熟悉这两种技术。我已经安装了SOAPlib,并尝试阅读其客户端文档,但我对其了解不多。还有什么更适合用作 Python 的 SOAP 客户端库的吗?编辑:为了以防万一有帮助,我正在使用 Python 2.6。解决方案 1:更新...

问题描述:

我以前从未使用过SOAP,而且对 Python 也比较陌生。我这样做是为了熟悉这两种技术。我已经安装了SOAPlib,并尝试阅读其客户端文档,但我对其了解不多。还有什么更适合用作 Python 的 SOAP 客户端库的吗?

编辑:为了以防万一有帮助,我正在使用 Python 2.6。


解决方案 1:

更新(2016年):

如果你只需要 SOAP 客户端,有一个维护良好的库叫zeep。它支持 Python 2 和 3 :)


更新:

除了上面提到的内容之外,我还将参考Python WebServices页面,该页面始终包含所有针对SOAP和所有其他 Web 服务类型的积极维护和推荐的模块。


不幸的是,目前我认为没有“最好的”Python SOAP 库。每个主流的库都有自己的优点和缺点。

较旧的图书馆:

  • SOAPy:曾经是“最好的”,但不再维护。不适用于 Python 2.5+

  • ZSI:使用起来非常麻烦,而且开发速度很慢。有一个名为“SOAPpy”的模块,与上面的 SOAPy 不同。

“较新”的库:

  • SUDS:非常 Pythonic,并且易于创建使用 WSDL 的 SOAP 客户端。创建 SOAP 服务器稍微困难一些。(此包不适用于 Python3。有关 Python3,请参阅 SUDS-py3)

  • SUDS-py3:SUDS 的 Python3 版本

  • spyne:创建服务器很容易,创建客户端稍微困难一些。文档有些缺乏。

  • ladon:创建服务器与 soaplib 非常相似(使用装饰器)。Ladon 同时公开了比 SOAP 更多的接口,无需额外的用户代码。

  • pysimplesoap:非常轻量级,但对于客户端和服务器都很有用 - 包括与 web2py 一起提供的 web2py 服务器集成。

  • SOAPpy:与上面 ZSI 链接上托管的已废弃的 SOAPpy 不同,此版本实际上一直维护到 2011 年,现在似乎也被废弃了。

  • soaplib:易于使用的 Python 库,用于编写和调用 soap web 服务。使用 soaplib 编写的 Web 服务简单、轻量,可与其他 SOAP 实现很好地配合使用,并且可以部署为 WSGI 应用程序。

  • osa:一个快速/精简且易于使用的 SOAP python 客户端库。

以上这些中,我个人只使用过 SUDS,而且我非常喜欢它。

解决方案 2:

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

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

python 2.6.2 及以下版本附带的模块urllib2不会CONNECT向 HTTPS-over-HTTP-proxy 会话的代理发出。这会导致长时间超时,或者如果幸运的话,会出现类似这样的错误:

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

这是Python 错误跟踪器上的issue1424152。错误报告附带了补丁,这些补丁将在 Python 2.x 和 Python 3.x 中修复此问题。此问题已修复

解决方案 3:

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

使用他们的 TestSuite 作为文档。

解决方案 4:

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

解决方案 5:

对于查看 SUDS 的人来说,这只是一个仅供参考的警告,在解决此问题之前,SUDS 不支持 WSDL 中的“选择”标签:

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

参见:
泡沫和选择标签

解决方案 6:

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

解决方案 7:

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

如果有人正在学习 SOAP 或者想要研究它,我认为这是一个不错的入门选择。

解决方案 8:

我认为 soaplib 已弃用其 SOAP 客户端(“发送方”)而改用 suds。目前 soaplib 专注于成为与 Web 框架无关的 SOAP 服务器(“接收方”)。目前 soaplib 正在积极开发中,通常在 Python SOAP 邮件列表中讨论:

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

解决方案 9:

我的结论是:

Soap 客户端:

使用Suds-jurko (2016年更新)
suds 维护良好且更新。

更新 06/2017: suds-jurko 库未更新,显然已被废弃,

我测试了zeep库,但在令牌方面存在限制,现在仅支持 UsernameToken,我报告了创建时间戳令牌的错误,作者更新了代码来修复它。

Zeep 启动良好,并具有良好的文档,因此我最近将我的代码从 suds 迁移到 zeep 并且运行良好。

Soap服务器端:

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

此致,

解决方案 10:

正如我在这里建议的那样,我建议您自己动手。其实这并不难,我怀疑这就是没有更好的 Python SOAP 库的原因。

解决方案 11:

suds 相当不错。我尝试过 SOAPpy,但无法按照我需要的方式工作,而 suds 几乎立即就起作用了。

解决方案 12:

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

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

解决方案 13:

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

解决方案 14:

我在生产设置中使用带有 Python 2.5.3 的 SOAPpy。

我不得不手动编辑 SOAPpy 中的几个文件(因为标头代码放错了位置),但除此之外,它可以正常工作并且继续非常可靠地运行。

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1579  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1355  
  信创产品在政府采购中的占比分析随着信息技术的飞速发展以及国家对信息安全重视程度的不断提高,信创产业应运而生并迅速崛起。信创,即信息技术应用创新,旨在实现信息技术领域的自主可控,减少对国外技术的依赖,保障国家信息安全。政府采购作为推动信创产业发展的重要力量,其对信创产品的采购占比情况备受关注。这不仅关系到信创产业的发展前...
信创和国产化的区别   8  
  信创,即信息技术应用创新产业,旨在实现信息技术领域的自主可控,摆脱对国外技术的依赖。近年来,国货国用信创发展势头迅猛,在诸多领域取得了显著成果。这一发展趋势对科技创新产生了深远的推动作用,不仅提升了我国在信息技术领域的自主创新能力,还为经济社会的数字化转型提供了坚实支撑。信创推动核心技术突破信创产业的发展促使企业和科研...
信创工作   9  
  信创技术,即信息技术应用创新产业,旨在实现信息技术领域的自主可控与安全可靠。近年来,信创技术发展迅猛,对中小企业产生了深远的影响,带来了诸多不可忽视的价值。在数字化转型的浪潮中,中小企业面临着激烈的市场竞争和复杂多变的环境,信创技术的出现为它们提供了新的发展机遇和支撑。信创技术对中小企业的影响技术架构变革信创技术促使中...
信创国产化   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用