Il-bini ta' Zeep Client minn WSDL mill-bogħod jista' minnufih iġib dak id-dokument u l-imports tiegħu. Ikkonfigura t-Transport l-ewwel, minflok ma tistabbilixxi proxy wara li Client ikun diġà pprova jtella' d-deskrizzjoni tas-servizz.

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 huwa l-URL attwali tad-deskrizzjoni tas-servizz. Jekk dak is-servizz u l-imports tiegħu jkunu aċċessibbli pubblikament u l-proxies pubbliċi huma permessi, il-lista tal-proxies HTTP tipprovdi kandidati għall-URLs tal-proxy tas-sessjoni. Żomm is-sessjoni kkonfigurata ħajja għall-operazzjonijiet SOAP li jmiss, imbagħad agħlaqha meta dak ix-xogħol jintemm.

Transport.timeout jikkontrolla t-tagħbija tal-WSDL u XSD. operation_timeout jikkontrolla t-talbiet HTTP għall-operazzjonijiet tas-servizz. Għalhekk timeout tal-metadata waqt il-bini ta' Client huwa stadju differenti minn sejħa ta' metodu li tiskadi aktar tard.

F'dan l-eżempju l-integrazzjoni mal-ambjent ta' Requests tibqa' attiva. Jekk il-valuri tal-proxy tal-ambjent jaqblux ma' rotta meħtieġa b'mod espliċitu, uża session.trust_env=False u pprovdi b'mod espliċitu l-bundle CA u s-settings tal-awtentikazzjoni meħtieġa.

Iċċekkja l-URL tad-dokument importat meta l-inizjalizzazzjoni xorta tfalli. WSDL tal-ogħla livell jista' jitgħabba b'suċċess filwaqt li skema importata tuża hostname jew protokoll destinatarju ieħor.

Artikli relatati