Gall adeiladu Client Zeep o WSDL anghysbell nôl y ddogfen honno a'i fewnforion ar unwaith. Ffurfweddwch y Transport yn gyntaf, yn hytrach na gosod proxy ar ôl i Client fod eisoes wedi ceisio llwytho disgrifiad y gwasanaeth.

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 yw URL gwirioneddol disgrifiad y gwasanaeth. Os yw'r gwasanaeth hwnnw a'i fewnforion yn gyhoeddus ac os caniateir proxïau cyhoeddus, mae'r rhestr proxïau HTTP yn cynnig ymgeiswyr ar gyfer URLau proxy'r sesiwn. Cadwch y sesiwn wedi'i ffurfweddu'n fyw ar gyfer gweithrediadau SOAP dilynol, yna caewch hi pan fydd y gwaith hwnnw'n gorffen.

Mae Transport.timeout yn rheoli llwytho WSDL a XSD. Mae operation_timeout yn rheoli ceisiadau HTTP ar gyfer gweithrediadau'r gwasanaeth. Felly mae terfyn amser metadata wrth adeiladu Client yn gam gwahanol i alwad dull yn dod i ben yn ddiweddarach.

Yn yr enghraifft hon mae integreiddio amgylchedd Requests yn parhau'n weithredol. Os yw gwerthoedd proxy'r amgylchedd yn gwrthdaro â llwybr sy'n ofynnol yn benodol, defnyddiwch session.trust_env=False a darparwch unrhyw becyn CA a gosodiadau dilysu sydd eu hangen yn benodol.

Gwiriwch URL y ddogfen a fewnforiwyd pan fydd cychwyn yn dal i fethu. Gall WSDL lefel uchaf lwytho'n llwyddiannus tra bo sgema a fewnforiwyd yn defnyddio enw gwesteiwr neu brotocol cyrchfan arall.

Erthyglau cysylltiedig