Изградња Zeep Client-а из удаљеног WSDL-а може одмах преузети тај документ и његове импорте. Прво конфигуришите Transport, уместо да постављате прокси након што је Client већ покушао да учита опис услуге.

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

session = Session()
session.proxies.update({
    "http": "http://proxy.example.net:8080",
    "https": "http://proxy.example.net:8080",
})

transport = Transport(
    session=session,
    timeout=10,
    operation_timeout=30,
)
client = Client(wsdl_url, transport=transport)

wsdl_url је стварни URL описа услуге. Ако су та услуга и њени импорти јавно доступни и ако су јавни проксији дозвољени, листа HTTP проксија даје кандидате за прокси URL-ове сесије. Одржавајте конфигурисану сесију активном за наредне SOAP операције, а затим је затворите када тај посао заврши.

Transport.timeout контролише учитавање WSDL-а и XSD-а. operation_timeout контролише HTTP захтеве за операције услуге. Зато је истек времена метаподатака током изградње Client-а друга фаза од каснијег истека времена позива методе.

У овом примеру интеграција са окружењем библиотеке Requests остаје активна. Ако се вредности проксија из окружења сукобљавају са изричито потребном рутом, користите session.trust_env=False и изричито наведите потребан CA пакет и подешавања аутентификације.

Проверите URL увезеног документа када иницијализација и даље не успева. WSDL највишег нивоа може се успешно учитати док увезена шема користи друго име хоста или циљни протокол.

Повезани чланци