Kreiranje Zeep Clienta od udaljenog WSDL-a može odmah preuzeti taj dokument i njegove importe. Konfigurirajte Transport prvo, umjesto da postavljate proxy nakon što je Client već pokušao učitati opis usluge.

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 je stvarni URL opisa usluge. Ako su ta usluga i njeni importi javno dostupni i ako su javni proxyji dopušteni, lista HTTP proxyja daje kandidate za proxy URL-ove sesije. Održavajte konfiguriranu sesiju aktivnom za naredne SOAP operacije, a zatim je zatvorite kada taj posao završi.

Transport.timeout kontrolira učitavanje WSDL-a i XSD-a. operation_timeout kontrolira HTTP zahtjeve za operacije usluge. Zato je istek vremena metapodataka tokom kreiranja Clienta druga faza od isteka vremena poziva metode kasnije.

U ovom primjeru integracija okruženja Requests biblioteke ostaje aktivna. Ako se vrijednosti proxyja iz okruženja sukobljavaju s eksplicitno potrebnom rutom, koristite session.trust_env=False i eksplicitno navedite potreban CA paket i postavke autentifikacije.

Provjerite URL uvezenog dokumenta ako inicijalizacija i dalje ne uspijeva. Vrhunski WSDL može se uspješno učitati, dok uvezena šema koristi drugo ime hosta ili odredišni protokol.

Povezani članci