വിദൂര 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 ഉപയോഗിക്കുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ