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 эсвэл очих protocol ашиглаж болно.