Zeep Inahitaji Proxy Kabla ya Kusoma WSDL
Unda kikao cha Requests na Zeep Transport kabla ya kujenga Client kutoka WSDL ya mbali.
Kujenga Zeep Client kutoka WSDL ya mbali kunaweza kupakua hati hiyo na import zake mara moja. Sanidi Transport kwanza, badala ya kuweka proxy baada ya Client kuwa tayari limejaribu kupakia maelezo ya huduma.
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 ni URL halisi ya maelezo ya huduma. Ikiwa huduma hiyo na import zake zinafikiwa na umma na proxy za umma zinaruhusiwa, orodha ya proxy za HTTP hutoa wagombea wa URL za proxy za kikao. Weka kikao kilichosanidiwa hai kwa shughuli za SOAP zinazofuata, kisha kifunge shughuli hiyo inapokamilika.
Transport.timeout hudhibiti upakiaji wa WSDL na XSD. operation_timeout hudhibiti maombi ya HTTP kwa shughuli za huduma. Kwa hiyo muda wa metadata unaoisha wakati wa kujenga Client ni hatua tofauti na muda wa wito wa mbinu unaoisha baadaye.
Katika mfano huu, muunganisho wa mazingira wa Requests unabaki hai. Ikiwa thamani za proxy za mazingira zinapingana na njia inayohitajika dhahiri, tumia session.trust_env=False na toa kifurushi cha CA na mipangilio ya uthibitishaji inayohitajika dhahiri.
Angalia URL ya hati iliyoingizwa wakati uanzishaji bado unashindikana. WSDL ya ngazi ya juu inaweza kupakia kwa mafanikio wakati schema iliyoingizwa inatumia jina jingine la mwenyeji au itifaki ya lengwa.