Как импортировать файлы .xsd или .wsdl в Python 3.2 - PullRequest
2 голосов
/ 27 января 2012

Я новичок в Python и в настоящее время делаю некоторые переводы с 2.7 до 3.2 после запуска инструмента 2to3.Одна из вещей, которую он не мог исправить, это импорт файлов .xsd или .wsdl.В версии 2.7, например import content, где содержимое файла .xsd в нашем каталоге работало нормально, но 3.2 не может разрешить этот импорт.Кто-нибудь знает, как я могу это сделать?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Звучит так, будто вы используете генератор кода для файлов .xsd и .wsdl, правильно?

В противном случае я не понимаю, что вы имеете в виду, когда говорите, что не можете импортировать файл .xsd;Я не думаю, что набор инструментов импорта Python позволяет вам делать это без нового импортера, написанного специально для клиентов SOAP.

Мне недавно приходилось общаться с сервисом SOAP, и я остановился на suds .

Объект Client в suds берет URL в файл wsdl (мне пришлось изменить URL, чтобы использовать file://, чтобы указать локальный файл .wsdl)

from suds.client import Client

a = Client(<url_to_wsdl_file>)
a.service.Method()

Надеюсь это поможет!Я не уверен, что suds совместим с Python 3. Быстрый поиск не дал никакой полезной информации.

0 голосов
/ 13 мая 2018

Обновление на 2018 год:


Пожалуйста, используйте python-zeep вместо suds. Это хорошо поддерживается и активно развивается. Suds нет. Это также намного быстрее, чем пена


Образец взят из документов :

client = Client('http://www.webservicex.net/ConvertSpeed.asmx?WSDL')
result = client.service.ConvertSpeed(
    100, 'kilometersPerhour', 'milesPerhour')
...