Zeep WSDL ni o'qishdan oldin proksiga muhtoj
Masofaviy WSDL dan Client qurishdan oldin Requests sessiyasi va Zeep Transport ni yarating.
Masofaviy WSDL dan Zeep Client qurish o'sha hujjatni va uning import larini darhol yuklashi mumkin. Avval Transport ni sozlang, Client xizmat tavsifini yuklashga urinib bo'lgandan keyin proksi o'rnatish o'rniga.
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 — xizmat tavsifining haqiqiy URL manzili. Agar bu xizmat va uning import lari hammaga ochiq bo'lsa va ommaviy proksilarga ruxsat berilgan bo'lsa, HTTP proksilar ro'yxati sessiyaning proksi URL lari uchun nomzodlar beradi. Sozlangan sessiyani keyingi SOAP amallari uchun tirik saqlang, ish tugagach uni yoping.
Transport.timeout WSDL va XSD yuklanishini boshqaradi. operation_timeout xizmat amallari uchun qilinadigan HTTP so'rovlarini boshqaradi. Shuning uchun Client qurilayotganda metama'lumotlar vaqti tugashi keyinchalik metod chaqiruvi vaqti tugashidan boshqa bosqich.
Bu misolda Requests ning muhit integratsiyasi faol qoladi. Agar muhit proksi qiymatlari aniq talab qilinadigan marshrutga zid bo'lsa, session.trust_env=False dan foydalaning va kerakli CA to'plami hamda autentifikatsiya sozlamalarini aniq bering.
Agar ishga tushirish hali ham muvaffaqiyatsiz bo'lsa, import qilingan hujjatning URL ini tekshiring. Yuqori darajadagi WSDL muvaffaqiyatli yuklanishi mumkin, ammo import qilingan schema boshqa hostname yoki maqsad protokolidan foydalanadi.