Ndërtimi i një Client Zeep nga një WSDL në distancë mund të marrë menjëherë atë dokument dhe importet e tij. Konfiguroni Transportin së pari, në vend që të vendosni një proxy pasi Client ka provuar tashmë të ngarkojë përshkrimin e shërbimit.

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 është URL-ja aktuale e përshkrimit të shërbimit. Nëse ai shërbim dhe importet e tij janë të aksesueshme publikisht dhe proxy-t publike lejohen, lista e proxy-ve HTTP ofron kandidatë për URL-të e proxy të sesionit. Mbajeni sesionin e konfiguruar aktiv për operacionet SOAP në vijim dhe mbylleni kur ai punë përfundon.

Transport.timeout kontrollon ngarkimin e WSDL dhe XSD. operation_timeout kontrollon kërkesat HTTP për operacionet e shërbimit. Prandaj një skadim i metadatës gjatë ndërtimit të Client është një fazë tjetër nga një skadim i thirrjes së metodës më vonë.

Në këtë shembull, integrimi me mjedisin i Requests mbetet aktiv. Nëse vlerat e proxy-t të mjedisit bien ndesh me një rrugë të kërkuar në mënyrë eksplicite, përdorni session.trust_env=False dhe jepni në mënyrë eksplicite paketën CA dhe cilësimet e autentikimit të nevojshme.

Kontrolloni URL-në e dokumentit të importuar kur inicializimi vazhdon të dështojë. Një WSDL i nivelit të lartë mund të ngarkohet me sukses ndërsa një skemë e importuar përdor një emër tjetër hosti ose protokoll destinacioni.

Artikuj të ngjashëm