我正在尝试为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来解决这个问题,我做错了。
答案 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')