python - SOAP suds 库类型未找到错误

标签 python xml soap wsdl suds

我正在尝试为 Textbroker API 创建 Python 客户端,但在访问其 SOAP 接口(interface)时遇到问题。我可以正常访问登录服务 ( https://api.textbroker.com/Budget/loginService.php?wsdl ),但是当我尝试访问预算检查服务 ( https://api.textbroker.com/Budget/budgetCheckService.php?wsdl ) 时,我收到以下错误消息:

suds.TypeNotFound: Type not found: '(Struct, http://www.w3.org/2001/XMLSchema, )'

据我了解阅读其他类似问题,我需要使用 ImportDoctor 来解决此问题。我尝试了以下方法:

    class BaseService:
        password = None
        wsdl = None
        client = None

        def __init__(self):
            imp = Import('http://www.w3.org/2001/XMLSchema')
            imp.filter.add("urn:loginService")
            self.client = Client(self.wsdl, doctor=ImportDoctor(imp), cache=None)

但不幸的是我仍然收到相同的错误消息。我几乎确定我需要使用 ImportDoctor 来解决这个问题,我只是做错了。

最佳答案

根据这个答案:SOAP suds and the dreaded schema Type Not Found error您可能需要向 Import() 添加特定位置

imp = Import('http://www.w3.org/2001/XMLSchema',
              location='http://www.w3.org/2001/XMLSchema.xsd')

关于python - SOAP suds 库类型未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38528653/

相关文章:

python - 通过 Python SUDS 检索 WSDL 时出现 403

jquery - 如何在 JQuery 端实现 WS-Security?

python - 我应该如何将这个又长又复杂的 PHP 样式 URL 查询字符串转换为 Django url?

python - Django admin - 删除自引用字段的 "add another"按钮

python - 仅使用 pathlib 规范化不存在的路径

java - java从xml中提取字符串

xml - 在哪里可以找到有关 Microsoft Dynamics CRM API 的 SOAP/XML 查询的信息

java - (Java)VTD-XML 和 Xpath 比较节点子元素

php - 从 ASP.NET C# 应用程序使用 PHP web 服务(SOAP、WSDL)-数组问题

python - VS Code/Python/使用调试器调试 pytest 测试