我是 Python 新手,目前正在运行 2to3 工具后进行一些从 2.7 到 3.2 的翻译。它无法修复的一件事是导入 .xsd 或 .wsdl 文件。在 2.7 之类的东西import content
中,我们目录中的内容是 .xsd 文件似乎工作正常,但 3.2 无法解析此导入。有人知道我该怎么做吗?
谢谢!
我是 Python 新手,目前正在运行 2to3 工具后进行一些从 2.7 到 3.2 的翻译。它无法修复的一件事是导入 .xsd 或 .wsdl 文件。在 2.7 之类的东西import content
中,我们目录中的内容是 .xsd 文件似乎工作正常,但 3.2 无法解析此导入。有人知道我该怎么做吗?
谢谢!
听起来您在.xsd
和.wsdl
文件上使用了代码生成器,对吗?
否则,当您说无法导入.xsd
文件时,我会感到困惑;如果没有专门为 SOAP 客户端编写的新导入器,我认为 Python 导入工具链无法让您做到这一点。
我最近不得不与 SOAP 服务进行通信并选择了suds。
Client
suds 中的对象接收 wsdl 文件的 url(我必须修改要使用的 urlfile://
以指定本地 .wsdl 文件)
from suds.client import Client
a = Client(<url_to_wsdl_file>)
a.service.Method()
希望这可以帮助!我不确定 suds 是否符合 Python 3,并且快速搜索没有产生任何有用的信息。
2018 年更新:
请使用python-zeep而不是suds
. 它得到了很好的支持和积极的开发。泡沫不是。它也比泡沫快得多
样本,取自文档:
client = Client('http://www.webservicex.net/ConvertSpeed.asmx?WSDL')
result = client.service.ConvertSpeed(
100, 'kilometersPerhour', 'milesPerhour')