【问题标题】:SOAP Client for Python 3 [closed]适用于 Python 3 的 SOAP 客户端 [关闭]
【发布时间】:2011-03-15 01:57:08
【问题描述】:

虽然这个问题在 StackOverflow 中很受欢迎,但在这里和 Google 中花了一些时间后,我仍然没有找到关于在 Python 3 中使用 SOAP 的最合适方法的具体答案。

我看了Does a Python 3 SOAP client module exist?,我希望它已经过时了,今天可能已经出现了一些解决方案。

我在想一些想法:

  1. 使用 2to3 脚本将一些现有库移植到 Python 3(SOAPy、suds 等)。
  2. 通过混合技术(Py3k + Jython、Py3k + Python 2.6 等)加载外部模块
  3. 编写与 WSDL 文件定义相对应的硬编码 Python 类(这意味着紧耦合/高维护)。
  4. 用Python 3.0编写软件,通过execnet package调用“python2.6-only”模块函数。这需要在机器上安装 Python 2.6 并且用 Python3.0 编写的软件是冻结的二进制文件。

有什么想法吗?

提前致谢

【问题讨论】:

    标签: python web-services soap wsdl python-3.x


    【解决方案1】:

    我可能会先尝试您建议的 2to3 端口。对于很多事情,它工作得很好。我想,转换泡沫之类的东西仍然需要一两天的时间。

    【讨论】:

    • 我不相信这个解决方案会起作用,2to3 旨在进行简单的翻译,例如打印语句、异常、绝对导入等。否则我猜 py3k 的 SOAPy 客户端将被发布。你不同意吗?
    • @Eduardo:我不知道。我见过一些 Python 模块(包括一些相当复杂的模块)特别声明他们的官方转换机制是为了确保 2to3 在他们的代码库上尽可能好地工作。您会注意到 2to3 (docs.python.org/library/2to3.html) 的文档明确指出“标准库包含一组丰富的修复程序,可以处理几乎所有代码。”。
    • 2to3 适用于许多代码库。它崩溃的地方是作者试图过于聪明并奇怪地使用边缘情况。如果代码以简单的 Python 风格编写,则 2to3 通常会完成大部分工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多