WSDL ଏବଂ SOAP ଅନୁରୋଧ ପାଇଁ Savon HTTPI ପ୍ରକ୍ସି ବିନ୍ୟାସ କରନ୍ତୁ
Savon HTTPI କ୍ଲାୟେଣ୍ଟରେ ପ୍ରକ୍ସି ବିନ୍ୟାସ କରନ୍ତୁ ଏବଂ ଦୂର WSDL ଆଣିବା ସହିତ SOAP କଲ ଦୁଇଟିକୁ ବିଚାର କରନ୍ତୁ।
HTTPI ବ୍ୟବହାର କରୁଥିବା Savon କ୍ଲାୟେଣ୍ଟରେ ପ୍ରକ୍ସି କ୍ଲାୟେଣ୍ଟର ବିକଳ୍ପଗୁଡ଼ିକର ଅଂଶ। ଦୂର WSDL ଆଣିବା ସମୟରେ ଏବଂ SOAP ଅନୁରୋଧ ପଠାଇବା ସମୟରେ ଏହା ଲାଗୁ ହୁଏ।
client = Savon.client(
wsdl: 'https://service.example/soap?wsdl',
proxy: ENV.fetch('SOAP_PROXY_URL'),
open_timeout: 5,
read_timeout: 15
)
ଉଦାହରଣଟି HTTPI ପରିବହନ ଧରି ନେଇଛି। ପରିବେଶ ମାଧ୍ୟମରେ ଅନୁମୋଦିତ ପ୍ରକ୍ସି URL ଦିଅନ୍ତୁ। ଅଣ-ପ୍ରମାଣୀକୃତ HTTP ମଧ୍ୟସ୍ଥକୁ ଅନୁମତି ଦେଉଥିବା ସାର୍ବଜନୀନ SOAP ପରୀକ୍ଷା ପାଇଁ HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ ଜଣେ ପ୍ରାର୍ଥୀ ସେହି URL ଦେଇପାରିବେ; ସେବା ଏବଂ ପ୍ରକ୍ସିର ପ୍ରମାଣୀକରଣ ସମ୍ପର୍କିତ ନିଷ୍ପତ୍ତି ଅଲଗା ରଖନ୍ତୁ। ଯଦି ସମର୍ଥିତ ପ୍ରମାଣୀକରଣ ପଦ୍ଧତି URL ଭିତରର ପ୍ରମାଣପତ୍ର ବ୍ୟବହାର କରେ, ସେହି ପ୍ରମାଣପତ୍ରରେ ସଂରକ୍ଷିତ ଅକ୍ଷରଗୁଡ଼ିକୁ ଏନକୋଡ କରନ୍ତୁ ଏବଂ ଫଳାଫଳ URL କୁ ଲଗ ବାହାରେ ରଖନ୍ତୁ।
Savon ସେଗୁଡ଼ିକୁ “ଜାଗତିକ ବିକଳ୍ପ” ବୋଲି କହେ, କିନ୍ତୁ ସେଗୁଡ଼ିକ ଏକ କ୍ଲାୟେଣ୍ଟ ଇନଷ୍ଟାନ୍ସ ପାଇଁ ସ୍ଥାନୀୟ। ଅନ୍ୟସ୍ଥାନରେ ତିଆରି ଅନ୍ୟ କ୍ଲାୟେଣ୍ଟ ପ୍ରକ୍ସିକୁ ସ୍ୱଚାଳିତ ଭାବେ ଉତ୍ତରାଧିକାର କରେ ନାହିଁ।
ସ୍ନିପେଟ ପୁଣି ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ସ୍ଥାପିତ ପରିବହନ ଯାଞ୍ଚ କରନ୍ତୁ। Savonର ବର୍ତ୍ତମାନ ଡକ୍ୟୁମେଣ୍ଟ ଏହି ବିକଳ୍ପଗୁଡ଼ିକୁ HTTPI କୁ ଦିଏ; ଏହାର Faraday ପରିବହନର client.faraday ମାଧ୍ୟମରେ ନିଜସ୍ୱ ସେଟଅପ ଇଣ୍ଟରଫେସ ଅଛି ଏବଂ ଏହି HTTPI-ନିର୍ଦ୍ଦିଷ୍ଟ ବିକଳ୍ପଗୁଡ଼ିକୁ ଅଗ୍ରାହ୍ୟ କରେ। ଦୁଇ ଇଣ୍ଟରଫେସ ମିଶାଇବା ପରିବର୍ତ୍ତେ ବଛାଯାଇଥିବା ପରିବହନ ବିନ୍ୟାସ କରନ୍ତୁ।
ପ୍ରକ୍ସି ଖାତାକୁ SOAP ସେବାର ପ୍ରମାଣପତ୍ର ଏବଂ WS-Security ମୂଲ୍ୟରୁ ଅଲଗା ରଖନ୍ତୁ। ପ୍ରକ୍ସିର 407, ସେବାର HTTP ଲଗଇନ ଚ୍ୟାଲେଞ୍ଜ ଏବଂ SOAP ତ୍ରୁଟି ଭିନ୍ନ ବିନିମୟ ସୂଚାଏ। କ୍ଲାୟେଣ୍ଟ କୌଣସି ଆପ୍ଲିକେସନ କାର୍ଯ୍ୟ କରିବା ପୂର୍ବରୁ WSDL ଆଣିବା ବିଫଳ ହୋଇପାରେ।