虽然这个问题在StackOverflow上非常流行,但在这里和Google上花了一些时间后,我仍然没有找到一个确切的答案来说明在Python 3中进行SOAP消费的最合适的方式。
我看了一下Python 3 SOAP客户端模块是否存在?,希望它已经过时了,现在可能已经出现了某些解决方案。
我考虑了一些想法:
- 使用2to3脚本将一些现有的库(如SOAPy、suds等)移植到Python 3。
- 通过混合技术(Py3k + Jython、Py3k + Python 2.6等)加载外部模块。
- 编写硬编码Python类,对应于WSDL文件的定义(这意味着紧耦合/高维护成本)。
- 在Python 3.0中编写软件,通过execnet package调用“python2.6-only”模块函数。这需要在机器上安装Python 2.6,并且以Python3.0编写的软件必须是冻结二进制文件。
有什么想法吗?
提前感谢