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

时间:2016-07-22 14:13:19

标签: python xml soap wsdl suds

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

  

suds.TypeNotFound:未找到类型:'(结构,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来解决这个问题,我做错了。

1 个答案:

答案 0 :(得分:2)

根据这个答案: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')