A Zeep Client távoli WSDL-ből való felépítése azonnal letöltheti azt a dokumentumot és annak importjait. Előbb konfigurálja a Transportot, ahelyett hogy a proxyt azután állítaná be, hogy a Client már megpróbálta betölteni a szolgáltatásleírást.

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)

A wsdl_url a szolgáltatásleírás tényleges URL-je. Ha ez a szolgáltatás és importjai nyilvánosan elérhetők, és a nyilvános proxyk engedélyezettek, a HTTP proxy lista jelölteket ad a munkamenet proxy URL-jeihez. Tartsa életben a beállított munkamenetet a későbbi SOAP-műveletekhez, majd zárja be, amikor az a munka véget ér.

A Transport.timeout a WSDL és XSD betöltését vezérli. Az operation_timeout a szolgáltatásműveletek HTTP-kéréseit vezérli. Ezért a Client felépítése közbeni metaadat-időtúllépés más szakasz, mint egy később lejáró metódushívás.

Ebben a példában a Requests környezeti integrációja aktív marad. Ha a környezeti proxy értékek ütköznek egy kifejezetten szükséges útvonallal, használja a session.trust_env=False értéket, és kifejezetten adja meg a szükséges CA-csomagot és hitelesítési beállításokat.

Ellenőrizze az importált dokumentum URL-jét, ha az inicializálás továbbra is sikertelen. Egy legfelső szintű WSDL sikeresen betölthető, miközben egy importált séma más hosztnevet vagy célprotokollt használ.

Kapcsolódó cikkek