Zeep vajab puhverserverit enne WSDL-i lugemist
Looge Requests-sessioon ja Zeep Transport enne, kui ehitate kaug-WSDL-ist Clienti.
Zeep Clienti loomine kaug-WSDL-ist võib kohe selle dokumendi ja selle importid alla laadida. Seadistage Transport kõigepealt, selle asemel et määrata puhverserver pärast seda, kui Client on juba teenusekirjeldust laadida proovinud.
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 on tegelik teenusekirjelduse URL. Kui see teenus ja selle importid on avalikult kättesaadavad ning avalikud puhverserverid on lubatud, pakub HTTP puhverserverite loend kandidaate sessiooni puhverserveri URL-ide jaoks. Hoidke seadistatud sessioon järgmiste SOAP-toimingute jaoks elus ja sulgege see, kui see töö lõpeb.
Transport.timeout juhib WSDL-i ja XSD laadimist. operation_timeout juhib teenusetoimingute HTTP-päringuid. Seega on metaandmete ajalõpp Clienti loomisel eri etapp kui hiljem aeguv meetodikutse.
Selles näites jääb Requestsi keskkonnaintegratsioon aktiivseks. Kui keskkonna puhverserveri väärtused on vastuolus selgesõnaliselt nõutava marsruudiga, kasutage session.trust_env=False ja esitage vajalik CA-kimp ning autentimisseaded selgesõnaliselt.
Kontrollige imporditud dokumendi URL-i, kui lähtestamine ikka ebaõnnestub. Ülatasandi WSDL võib edukalt laadida, samal ajal kui imporditud skeem kasutab teist hostinime või sihtprotokolli.