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 ನಿರ್ಮಾಣದ ಸಮಯದ metadata timeout ನಂತರದ method call timeout ಗಿಂತ ಬೇರೆ ಹಂತ.
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ Requests ನ ಪರಿಸರ ಏಕೀಕರಣ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ. ಪರಿಸರದ ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯಗಳು ಸ್ಪಷ್ಟವಾಗಿ ಅಗತ್ಯವಿರುವ ಮಾರ್ಗದೊಂದಿಗೆ ಘರ್ಷಣೆಗೊಂಡರೆ, session.trust_env=False ಬಳಸಿ ಮತ್ತು ಅಗತ್ಯವಿರುವ CA ಬಂಡಲ್ ಹಾಗೂ ದೃಢೀಕರಣ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಒದಗಿಸಿ.
ಇನಿಶಿಯಲೈಸೇಶನ್ ಇನ್ನೂ ವಿಫಲವಾದರೆ import ಮಾಡಿದ ದಾಖಲೆಯ URL ಪರಿಶೀಲಿಸಿ. ಮೇಲ್ಮಟ್ಟದ WSDL ಯಶಸ್ವಿಯಾಗಿ ಲೋಡ್ ಆಗಬಹುದು, ಆದರೆ import ಮಾಡಿದ schema ಬೇರೆ hostname ಅಥವಾ ಗಮ್ಯ protocol ಬಳಸುತ್ತದೆ.