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 उदाहरणहरूले अर्को क्लाइन्ट पुस्ताको वर्णन गर्छन्।