Python 3的SOAP客户端

6 投票
1 回答
3642 浏览
提问于 2025-04-16 01:12

虽然这个问题在StackOverflow上非常受欢迎,但我在这里和谷歌上花了一些时间,还是没找到一个明确的答案,关于在Python 3中最合适的SOAP消费方式是什么。

我查看了“有没有Python 3的SOAP客户端模块?”这个帖子,希望它已经过时了,今天可能有一些新的解决方案出现。

我想到了一些想法:

  1. 使用2to3脚本将一些现有的库移植到Python 3(比如SOAPy、suds等)。
  2. 通过混合技术加载外部模块(比如Py3k + Jython,Py3k + Python 2.6等)。
  3. 手动编写与WSDL文件定义相对应的Python类(这意味着代码之间的耦合度高,维护起来麻烦)。
  4. 在Python 3.0中编写软件,通过execnet包调用“仅限Python 2.6”的模块函数。这需要在机器上安装Python 2.6,并且用Python 3.0编写的软件需要是一个冻结的二进制文件。

有什么想法吗?

提前谢谢你们!

1 个回答

1

我可能会先试试你提到的2to3工具。对于很多事情来说,它的效果还不错。不过,我想把像suds这样的东西转换过来,可能还是得花一两天的时间。

撰写回答