Қашықтағы 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 бумасы мен аутентификация параметрлерін нақты көрсетіңіз.

Егер инициализация әлі де сәтсіз болса, импортталған құжаттың URL мекенжайын тексеріңіз. Жоғарғы деңгейдегі WSDL сәтті жүктелуі мүмкін, ал импортталған schema басқа hostname немесе тағайындалған protocol қолданады.

Қатысты мақалалар