Spring ର WebServiceTemplate ପାଇଁ ଏକ ଫରୱାର୍ଡ ପ୍ରକ୍ସି
ପ୍ରକ୍ସି-କନଫିଗର ହୋଇଥିବା HttpClient 5 ପରିବହନକୁ WebServiceTemplate ସହିତ ସଂଯୋଗ କରନ୍ତୁ ଏବଂ SOAP ପ୍ରେରକର ଆବଶ୍ୟକ ହେଡର ଇଣ୍ଟରସେପ୍ଟର ରଖନ୍ତୁ।
WebServiceTemplate ନିଜର WebServiceMessageSender ମାଧ୍ୟମରେ ପଠାଏ। SOAP ଗନ୍ତବ୍ୟକୁ ଫରୱାର୍ଡ ପ୍ରକ୍ସି ଆବଶ୍ୟକ ହେଲେ ସେହି ପ୍ରେରକର HTTP କ୍ଲାଏଣ୍ଟ କନଫିଗର କରନ୍ତୁ।
Apache HttpClient 5 ଉପଲବ୍ଧ ଥିବା Spring WS 4.1 ପାଇଁ:
var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
.setProxy(new org.apache.hc.core5.http.HttpHost(
"http", "proxy.example", 8080))
.addRequestInterceptorFirst(
new org.springframework.ws.transport.http
.HttpComponents5ClientFactory.RemoveSoapHeadersInterceptor())
.build();
var sender = new org.springframework.ws.transport.http
.HttpComponents5MessageSender(http);
webServiceTemplate.setMessageSender(sender);webServiceTemplate ହେଉଛି ଆପ୍ଲିକେସନର ବିଦ୍ୟମାନ ଟେମ୍ପଲେଟ। ଏହାର SOAP ସେବା URI ଗନ୍ତବ୍ୟ ରହେ; HTTP କ୍ଲାଏଣ୍ଟ ମଧ୍ୟସ୍ଥ ରଖେ, ଯାହା ସେହି ମାର୍ଗ ଅନୁମତିପ୍ରାପ୍ତ ହେଲେ HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ ଏକ ସାର୍ବଜନୀନ ପ୍ରାର୍ଥୀ ହୋଇପାରେ।
କଷ୍ଟମ-କ୍ଲାଏଣ୍ଟ କନଷ୍ଟ୍ରକ୍ଟର ପ୍ରେରକର ସାଧାରଣ ହେଡର ଇଣ୍ଟରସେପ୍ଟର ଯୋଡେ ନାହିଁ। କ୍ଲାଏଣ୍ଟ ଯୋଡିବା ସମୟରେ ଏହାକୁ ରଖନ୍ତୁ: ଏହା Apache ର ଅନୁରୋଧ ପ୍ରକ୍ରିୟାକରଣ ଦ୍ୱାରା ପରିଚାଳିତ SOAP-ପ୍ରଦାନ କରାଯାଇଥିବା ପରିବହନ ହେଡର ହଟାଏ। କ୍ଲାଏଣ୍ଟ ଫ୍ୟାକ୍ଟରୀର ଡିଫଲ୍ଟ ମାଧ୍ୟମରେ ନିର୍ମିତ ପ୍ରେରକ ଏହି ଏକୀକରଣ ରଖୁଥିବା ଅନ୍ୟ ଏକ ନିର୍ମାଣ ମାର୍ଗ।
ଆବଶ୍ୟକ ପ୍ରକ୍ସି ପ୍ରମାଣପତ୍ର ଏବଂ ସମୟସୀମା କଷ୍ଟମ କ୍ଲାଏଣ୍ଟରେ ଏହାର ନିଜସ୍ୱ ସମର୍ଥିତ ଇଣ୍ଟରଫେସ ମାଧ୍ୟମରେ ଯୋଡନ୍ତୁ। ପ୍ରେରକର ସେଟର ପଦ୍ଧତି ପୂର୍ବରୁ ପ୍ରଦାନ କରାଯାଇଥିବା କ୍ଲାଏଣ୍ଟ କନଫିଗର କରିବାର ବିକଳ୍ପ ନୁହେଁ।
ଟେମ୍ପଲେଟର କାର୍ଯ୍ୟଭାର ପାଇଁ କ୍ଲାଏଣ୍ଟ ରଖନ୍ତୁ ଏବଂ ବନ୍ଦ କରିବା ସମୟରେ ମାଲିକାନାର ସମ୍ବଳ ବନ୍ଦ କରନ୍ତୁ। ଏହି ଉଦାହରଣ HttpClient 5 ପ୍ରେରକ ବ୍ୟବହାର କରେ; org.apache.http ଆମଦାନୀ କରୁଥିବା Spring WS ଉଦାହରଣ ଅନ୍ୟ ଏକ କ୍ଲାଏଣ୍ଟ ପିଢ଼ିର ବର୍ଣ୍ଣନା କରେ।