Python Zeep - несколько файлов WSDL - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть два отдельных файла WSDL, которые мне предоставлены для взаимодействия со службой, один файл WSDL просто предоставляет метод для входа в систему и генерирования токена доступа. Другой файл WSDL предоставляет методы для реального взаимодействия с системой.

Если я создаю экземпляр клиента Zeep SOAP с первым файлом WSDL для входа в систему, нужно ли мне повторно создать экземпляр клиента для следующего файла WSDL или я могу просто попросить его перейти к следующему файлу WSDL?

from zeep import Client

client = Client("https://url.service.com/Session?wsdl")
token = client.service.login(username, password)

client = Client("https://url.service.com/Object?wsdl")
client.service.find(token, 'filter')

Я пытался использовать create_service, но не думаю, что использую его правильно.

Спасибо!

1 Ответ

0 голосов
/ 20 декабря 2018

Вам необходимо восстановить экземпляр второго Клиента.

Я ожидаю, что вам также нужно расширить свой код для использования тех же запросов Session и Zeeps Transport.

from requests import Session
from zeep import Client
from zeep.transports import Transport

transport = Transport(session=Session())

client = Client("https://url.service.com/Session?wsdl", transport=transport)
token = client.service.login(username, password)

client = Client("https://url.service.com/Object?wsdl", transport=transport)
client.service.find(token, 'filter')
...