HttpComponents 5 सह Spring-WS 4.1 प्रॉक्सी कॉन्फिगर करा
Spring-WS 4.1 ची HttpComponents5 क्लायंट फॅक्टरी सानुकूलित करा आणि तयार झालेला प्रेषक WebServiceTemplate ला जोडा.
import org.apache.hc.core5.http.HttpHost;
import org.springframework.ws.transport.http.HttpComponents5ClientFactory;
import org.springframework.ws.transport.http.SimpleHttpComponents5MessageSender;
var factory = HttpComponents5ClientFactory.withDefaults();
factory.addClientBuilderCustomizer(builder ->
builder.setProxy(new HttpHost("http", "proxy.example", 8080)));
var sender = new SimpleHttpComponents5MessageSender(factory);
template.setMessageSender(sender);कॉलपूर्वी हा प्रेषक विद्यमान template वर लागू करा, सेवेचा URI, marshaller आणि इतर सेटिंग्ज जपून ठेवा. हे Apache HttpClient 5 सह Spring-WS 4.1.0 आहे. जर टेम्पलेट प्रॉक्सी प्रमाणीकरणाशिवाय अनुमत सार्वजनिक SOAP सेवेला लक्ष्य करत असेल, तर HTTP प्रॉक्सी सूचीमधील HTTP पत्ता सानुकूलकाची प्रॉक्सी भरू शकतो.
withDefaults Apache HTTP फ्रेमिंग तयार करण्यापूर्वी SOAP ने दिलेले Content-Length आणि Transfer-Encoding काढणारा इंटरसेप्टर टिकवून ठेवतो. तिथे प्रॉक्सी सानुकूलक जोडल्यास ते एकत्रीकरण नग्न क्लायंटने बदलणे टळते. स्वतंत्रपणे तयार केलेल्या Apache क्लायंटसाठी, Spring-WS चा हेडर काढणारा इंटरसेप्टर टिकवून ठेवा.
इम्पोर्ट आणि प्रेषक निर्मिती जुळवा. HttpComponentsMessageSender/org.apache.http वापरणारी जुनी उदाहरणे Apache 4 वापरतात, हा SimpleHttpComponents5MessageSender आणि HttpHost इंटरफेस नाही.
SOAP क्लायंटच्या संपूर्ण आयुष्यभर हाताने तयार केलेला प्रेषक ठेवा आणि नंतर त्याचा नेहमीचा नाश आयोजित करा. Spring ने व्यवस्थापित केलेला बीन कंटेनरचे जीवनचक्र वापरू शकतो. इतर प्रेषक ठेवणारे इतर टेम्पलेट त्यांचे स्वतःचे वाहतूक कॉन्फिगरेशन ठेवतात.