Python SOAP-клиент с Zeep-аутентификацией

Я пытаюсь использовать Zeep для реализации SOAP-клиента, поскольку на данный момент это единственная поддерживаемая библиотека:

ZSI выглядел очень хорошо, но его последняя версия на Pypi дат 2006мыльная пена Казалось бы, популярная альтернатива, но мастер не поддерживается с 2011 года, и есть много вилок, но ни один не кажется «официальным» и «недавним» достаточно для использования в большом проекте.

Итак, пытаясь использовать Zeep, я застрял с аутентификацией, требуемой сервером для доступа к WSDL.

Такая операция была довольно простой с ZSI:

from ZSI.client import Binding
from ZSI.auth import AUTH

b = Binding(url='http://mysite.dom/services/MyWebServices?WSDL')
b.SetAuth(AUTH.httpbasic, 'userid', 'password')

и я могу найти что-то подобное в __main__.py Zeep:

from six.moves.urllib.parse import urlparse
from zeep.cache import InMemoryCache, SqliteCache
from zeep.client import Client
from zeep.transports import Transport

cache = SqliteCache() if args.cache else InMemoryCache()
transport_kwargs = {'cache': cache}
result = urlparse(args.wsdl_file)
if result.username or result.password:
    transport_kwargs['http_auth'] = (result.username, result.password)
transport = Transport(**transport_kwargs)
client = Client(args.wsdl_file, transport=transport)

но это не работает в моем случае, я получаю сообщение об ошибке:

Exception: HTTPConnectionPool(host='schemas.xmlsoap.org', port=80): Max retries exceeded with url: /soap/encoding/ (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f3dab9d30b8>: Failed to establish a new connection: [Errno 110] Connection timed out',))

Ответы на вопрос(3)

Ваш ответ на вопрос