Алсын 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 ашиглаж болно.

Холбоотой нийтлэлүүд