రిమోట్ WSDL నుండి Zeep Client నిర్మించడం ఆ పత్రాన్ని మరియు దాని import లను వెంటనే తీసుకురావచ్చు. Client ఇప్పటికే సేవా వివరణను లోడ్ చేయడానికి ప్రయత్నించిన తర్వాత ప్రాక్సీ సెట్ చేయడం బదులు ముందుగా Transport ను కాన్ఫిగర్ చేయండి.

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. ఆ సేవ మరియు దాని import లు బహిరంగంగా అందుబాటులో ఉండి, బహిరంగ ప్రాక్సీలు అనుమతించబడితే, HTTP ప్రాక్సీ జాబితా సెషన్ ప్రాక్సీ URL లకు అభ్యర్థులను అందిస్తుంది. కాన్ఫిగర్ చేసిన సెషన్‌ను తదుపరి SOAP కార్యకలాపాల కోసం సజీవంగా ఉంచి, ఆ పని ముగిసినప్పుడు దాన్ని మూసివేయండి.

Transport.timeout WSDL మరియు XSD లోడింగ్‌ను నియంత్రిస్తుంది. operation_timeout సేవా కార్యకలాపాల కోసం చేసే HTTP అభ్యర్థనలను నియంత్రిస్తుంది. అందువల్ల Client నిర్మాణ సమయంలో మెటాడేటా టైమౌట్ తర్వాత జరిగే మెథడ్ కాల్ టైమౌట్ కంటే వేరే దశ.

ఈ ఉదాహరణలో Requests యొక్క పర్యావరణ ఏకీకరణ సక్రియంగా ఉంటుంది. పర్యావరణ ప్రాక్సీ విలువలు స్పష్టంగా అవసరమైన మార్గంతో ఘర్షణ పడితే, session.trust_env=False ఉపయోగించి అవసరమైన CA బండిల్ మరియు ప్రామాణీకరణ సెట్టింగ్‌లను స్పష్టంగా ఇవ్వండి.

ఇనిషియలైజేషన్ ఇంకా విఫలమైతే import చేసిన పత్రం యొక్క URL ను తనిఖీ చేయండి. ఉన్నత స్థాయి WSDL విజయవంతంగా లోడ్ కావచ్చు, కానీ import చేసిన schema మరో hostname లేదా గమ్య protocol ను ఉపయోగిస్తుంది.

సంబంధిత వ్యాసాలు