2016-07-22 3 views
2

Я пытаюсь создать клиент Python для API-интерфейса Textbroker, но у вас проблемы с доступом к их интерфейсу SOAP. Я могу получить доступ Войти Обслуживание (https://api.textbroker.com/Budget/loginService.php?wsdl) просто отлично, но когда я пытаюсь получить доступ к бюджету Проверьте службу (https://api.textbroker.com/Budget/budgetCheckService.php?wsdl), я получаю следующее сообщение об ошибке:python - Библиотека SOAP suds Тип Не найдено Ошибка

suds.TypeNotFound: Тип не найдено: «(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 для устранения этой проблемы, я просто делаю это неправильно.

+0

Я пытаюсь использовать API textbroker, а также, и получил такую ​​же проблему, но я могу» t понять, как использовать принятый ответ (замена Импорта на то, что он дает, не помогло мне). Не могли бы вы опубликовать то, что работает для вас, здесь или по mp? – BriceP

+0

Принятый ответ тоже не сработал для меня, я использовал PHP для него. –

+0

Хорошо, спасибо Владимиру. Мне нужно найти другой путь. – BriceP

ответ

2

В соответствии с этим ответом: SOAP suds and the dreaded schema Type Not Found error вы, вероятно, необходимо добавить определенное место для импорта()

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