ଦୂର 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 ବଣ୍ଡଲ ଏବଂ authentication ସେଟିଂ ସ୍ପଷ୍ଟ ଭାବରେ ଦିଅନ୍ତୁ।

ଇନିସିଆଲାଇଜେସନ ଏବେ ମଧ୍ୟ ବିଫଳ ହେଲେ import କରାଯାଇଥିବା ଦସ୍ତାବିଜର URL ଯାଞ୍ଚ କରନ୍ତୁ। ଉପର ସ୍ତରର WSDL ସଫଳ ଭାବରେ ଲୋଡ୍ ହୋଇପାରେ, କିନ୍ତୁ import କରାଯାଇଥିବା schema ଅନ୍ୟ hostname କିମ୍ବା ଗନ୍ତବ୍ୟ protocol ବ୍ୟବହାର କରେ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ