исключение Zeep Client.zeep.transport.session.cookies не распространяется - PullRequest
0 голосов
/ 20 сентября 2019

Я пытался создать Zeep-клиент и использовать его двумя способами.

1) Я пытался сохранить все в одном модуле.Я создал объект клиента Zeep, и он работал нормально при использовании полезной нагрузки.2) Я создал метод, который возвращает объект Zeep-клиента для wsdl.Я пытался использовать этот способ в качестве метода 1) Но получаю ошибку ниже.zeep.exception.Fault: Входящее сообщение не может быть аутентифицировано.Действительные учетные данные не найдены Может кто-нибудь сообщить, что мне здесь не хватает, что вызывает эту ошибку.Мой второй подход такой.\\ def zeepClient (wsdl): ## сделать все здесь и вернуть клиентский объект zeep.возвратить клиентаэто, я получаю выше ошибка. Но если мой вышеупомянутый кусок кода и мой метод для zeepClient все в одном месте.Я не получаю ошибку.Точно сказать не могу .То, что отсутствует в этом объекте «Возвращенный клиент».

1 Ответ

0 голосов
/ 20 сентября 2019

Вы должны предоставить учетные данные для сеанса, а затем сделать запрос, например здесь

from requests import Session
from requests.auth import HTTPBasicAuth  # or HTTPDigestAuth, or OAuth1, etc.
from zeep import Client
from zeep.transports import Transport

session = Session()
session.auth = HTTPBasicAuth(user, password)
client = Client('http://my-endpoint.com/production.svc?wsdl',
    transport=Transport(session=session))
...