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 द्वारा व्यवस्थापित बिनले कन्टेनरको जीवनचक्र प्रयोग गर्न सक्छ। अन्य पठाउने राख्ने अन्य टेम्प्लेटहरूले आफ्नै यातायात कन्फिगरेसन राख्छन्।

सम्बन्धित लेखहरू