Python 3.x 中有哪些 SOAP 库?
我在网上找了一些现有的、有支持的SOAP库,适用于Python 3(包括客户端和服务器)。
以下是我找到的库的列表:
Python 2:
- Zeep: 在Python 2.7/3中活跃且文档齐全
- SOAPy: 停止维护的Python 2项目
- ZSI: 停止维护的Python 2项目
- soaplib: 停止维护的Python 2项目
- SUDS: 停止维护的Python 2项目(自2012年02月以来没有活动)
- rpclib: 停止维护的Python 2项目(自2012年08月以来没有活动)
Python 3:
- Zeep: 活跃且文档齐全的Python 2/3项目
- SOAPy: 停止维护的Python 2项目
- pysimplesoap: 活跃的Python 2/3项目
- SUDS-jurko: 活动较少的Python 2/3项目
- ladon: 活动较低,但仅限于网络服务
你觉得这个列表完整吗?(顺便说一下,我是以这个帖子为起点的(那个帖子的目的和这个一样,但针对的是Python 2))
ladon在我看来是Python 3中唯一存在的框架,但据我所知,它只能用于实现服务器端。
不: 我不想自己迁移那些已经停止维护的Python 2项目。我在寻找一个有支持的项目,最好有一个活跃的团队在需要时提供帮助。
更新于 2013年09月28日
3 个回答
0
rpclib:看起来这是唯一一个还在活跃开发的项目。在他们的介绍中,他们提到正在寻找志愿者来测试这个项目在Python 3上的表现。所以也许你可以考虑自己去当个志愿者!
0
几个月前我也做过同样的搜索,得出的结论差不多。这个领域可选的东西真的不多。我最后选择了继续使用Python 2.7,并且在我的项目中用SOAPy,因为它非常好用。虽然它可能已经不再更新了,但还是能正常工作。我觉得有时候我们就是得自己动手,解决问题,这就是我们程序员的工作。
2
根据服务的复杂程度,你可以在服务器端使用 ladon,然后手动模拟客户端,直到有更好的解决方案出现。
只需使用 suds(或者类似的工具)来调用服务,并打开日志记录,这样你就可以看到请求中的 SOAP 包装。然后用这个包装来处理你的请求,直接用普通的 http 来调用服务。
这不是一个理想的解决方案,但在你找到替代方案之前,这样做可以暂时应付一下。