Zeep WSDL-i oxumadan əvvəl proxy tələb edir
Uzaq WSDL-dən Client qurmadan əvvəl Requests sessiyasını və Zeep Transport-u yaradın.
Uzaq WSDL-dən Zeep Client qurmaq həmin sənədi və onun importlarını dərhal gətirə bilər. Client artıq xidmət təsvirini yükləməyə çalışdıqdan sonra proxy təyin etmək əvəzinə, Transport-u əvvəlcədən konfiqurasiya edin.
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 faktiki xidmət təsviri URL-idir. Əgər bu xidmət və onun importları açıq şəkildə əlçatandırsa və açıq proxy-lərə icazə verilirsə, HTTP proxy siyahısı sessiyanın proxy URL-ləri üçün namizədlər təqdim edir. Konfiqurasiya edilmiş sessiyanı sonrakı SOAP əməliyyatları üçün açıq saxlayın, sonra bu iş bitdikdə bağlayın.
Transport.timeout WSDL və XSD yüklənməsini idarə edir. operation_timeout xidmət əməliyyatları üçün HTTP sorğularını idarə edir. Buna görə Client qurularkən baş verən metadata timeout sonradan metod çağırışının timeoutundan fərqli mərhələdir.
Bu nümunədə Requests-in mühit inteqrasiyası aktiv qalır. Əgər mühit proxy dəyərləri açıq şəkildə tələb olunan marşrutla ziddiyyət təşkil edirsə, session.trust_env=False istifadə edin və lazımi CA paketini və autentifikasiya parametrlərini açıq şəkildə təmin edin.
Əgər işəsalma hələ də uğursuz olarsa, import edilmiş sənədin URL-ini yoxlayın. Yuxarı səviyyəli WSDL uğurla yüklənə bilər, halbuki import edilmiş sxem başqa hostname və ya təyinat protokolu istifadə edir.