Zeep এ WSDL পঢ়াৰ আগতে প্ৰক্সিৰ প্ৰয়োজন
দূৰৰ WSDL ৰ পৰা Client নিৰ্মাণ কৰাৰ আগতে Requests session আৰু Zeep Transport সৃষ্টি কৰক।
দূৰৰ WSDL ৰ পৰা Zeep Client নিৰ্মাণ কৰিলে সেই নথিপত্ৰ আৰু ইয়াৰ import তৎক্ষণাত আনিব পাৰে। Client এ ইতিমধ্যে service description লোড কৰিবলৈ চেষ্টা কৰাৰ পিছত প্ৰক্সি ছেট কৰাৰ পৰিৱৰ্তে প্ৰথমে 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 হৈছে প্ৰকৃত service-description URL। যদি সেই service আৰু ইয়াৰ import ৰাজহুৱাভাৱে উপলব্ধ আৰু ৰাজহুৱা প্ৰক্সি অনুমোদিত, তেন্তে HTTP proxy list এ session ৰ proxy URL ৰ বাবে candidate যোগান ধৰে। পৰৱৰ্তী SOAP operation ৰ বাবে কনফিগাৰ কৰা session সক্ৰিয় ৰাখক, তাৰ পিছত কাম শেষ হ'লে বন্ধ কৰক।
Transport.timeout এ WSDL আৰু XSD লোড কৰা নিয়ন্ত্ৰণ কৰে। operation_timeout এ service operation ৰ বাবে HTTP অনুৰোধ নিয়ন্ত্ৰণ কৰে। সেয়ে Client নিৰ্মাণৰ সময়ত হোৱা metadata timeout পিছত method call timeout হোৱাৰ পৰা পৃথক পৰ্যায়।
এই উদাহৰণত Requests ৰ environment integration সক্ৰিয় হৈ থাকে। যদি environment proxy ৰ মান স্পষ্টভাৱে প্ৰয়োজনীয় route ৰ সৈতে সংঘৰ্ষ কৰে, session.trust_env=False ব্যৱহাৰ কৰক আৰু প্ৰয়োজনীয় CA bundle আৰু authentication setting স্পষ্টভাৱে যোগান ধৰক।
যদি আৰম্ভণি এতিয়াও ব্যৰ্থ হয় তেন্তে import কৰা নথিপত্ৰৰ URL পৰীক্ষা কৰক। এটা ওপৰৰ WSDL সফলভাৱে লোড হ'ব পাৰে কিন্তু import কৰা schema এ অন্য hostname বা গন্তব্য protocol ব্যৱহাৰ কৰিব পাৰে।