WSDL படிக்கும் முன் Zeep-க்கு ப்ராக்ஸி தேவை
தொலை 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 தொகுப்பையும் அங்கீகார அமைப்புகளையும் வெளிப்படையாக வழங்கவும்.
தொடக்கம் இன்னும் தோல்வியடைந்தால் import செய்யப்பட்ட ஆவணத்தின் URL-ஐ சரிபார்க்கவும். மேல் நிலை WSDL வெற்றிகரமாக ஏற்றப்படலாம், ஆனால் import செய்யப்பட்ட schema வேறு hostname அல்லது இலக்கு protocol-ஐ பயன்படுத்துகிறது.