3

我是 Python 新手,目前正在运行 2to3 工具后进行一些从 2.7 到 3.2 的翻译。它无法修复的一件事是导入 .xsd 或 .wsdl 文件。在 2.7 之类的东西import content中,我们目录中的内容是 .xsd 文件似乎工作正常,但 3.2 无法解析此导入。有人知道我该怎么做吗?

谢谢!

4

2 回答 2

3

听起来您在.xsd.wsdl文件上使用了代码生成器,对吗?

否则,当您说无法导入.xsd文件时,我会感到困惑;如果没有专门为 SOAP 客户端编写的新导入器,我认为 Python 导入工具链无法让您做到这一点。

我最近不得不与 SOAP 服务进行通信并选择了suds

Clientsuds 中的对象接收 wsdl 文件的 url(我必须修改要使用的 urlfile://以指定本地 .wsdl 文件)

from suds.client import Client

a = Client(<url_to_wsdl_file>)
a.service.Method()

希望这可以帮助!我不确定 suds 是否符合 Python 3,并且快速搜索没有产生任何有用的信息。

于 2012-01-27T02:24:33.693 回答
1

2018 年更新:


请使用python-zeep而不是suds. 它得到了很好的支持和积极的开发。泡沫不是。它也比泡沫快得多


样本,取自文档

client = Client('http://www.webservicex.net/ConvertSpeed.asmx?WSDL')
result = client.service.ConvertSpeed(
    100, 'kilometersPerhour', 'milesPerhour')
于 2018-05-12T21:49:23.683 回答