Zeep WSDL окуганга чейин прокси керек
Алыскы WSDL'ден Client куруудан мурун Requests сессиясын жана Zeep Transport'ту түзүңүз.
Алыскы 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 же багыт протоколун колдонот.