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 ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ. ಇದು Spring-WS 4.1.0, Apache HttpClient 5 ಜೊತೆಗೆ. ಟೆಂಪ್ಲೇಟ್ ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವಿಲ್ಲದ ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ SOAP ಸೇವೆಯನ್ನು ಗುರಿಯಾಗಿಸಿದರೆ, HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ HTTP ವಿಳಾಸವು ಕಸ್ಟಮೈಜರ್‌ನ ಪ್ರಾಕ್ಸಿಯನ್ನು ತುಂಬಬಹುದು.

withDefaults Apache HTTP ಚೌಕಟ್ಟನ್ನು ರಚಿಸುವ ಮೊದಲು SOAP ಒದಗಿಸಿದ Content-Length ಮತ್ತು Transfer-Encoding ಅನ್ನು ತೆಗೆದುಹಾಕುವ ಇಂಟರ್ಸೆಪ್ಟರ್ ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಅಲ್ಲಿ ಪ್ರಾಕ್ಸಿ ಕಸ್ಟಮೈಜರ್ ಸೇರಿಸುವುದು ಆ ಸಂಯೋಜನೆಯನ್ನು ಬರಿ ಕ್ಲೈಂಟ್‌ನಿಂದ ಬದಲಾಯಿಸುವುದನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಪ್ರತ್ಯೇಕವಾಗಿ ನಿರ್ಮಿಸಿದ Apache ಕ್ಲೈಂಟ್‌ಗಾಗಿ, Spring-WS ನ ಶೀರ್ಷಿಕೆ ತೆಗೆಯುವ ಇಂಟರ್ಸೆಪ್ಟರ್ ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ.

ಆಮದುಗಳು ಮತ್ತು ಕಳುಹಿಸುವವನ ರಚನೆಯನ್ನು ಹೊಂದಿಸಿ. HttpComponentsMessageSender/org.apache.http ಬಳಸುವ ಹಳೆಯ ಉದಾಹರಣೆಗಳು Apache 4 ಬಳಸುತ್ತವೆ, ಈ SimpleHttpComponents5MessageSender ಮತ್ತು HttpHost ಇಂಟರ್ಫೇಸ್ ಅಲ್ಲ.

SOAP ಕ್ಲೈಂಟ್‌ನ ಸಂಪೂರ್ಣ ಜೀವಿತಾವಧಿಯಲ್ಲಿ ಕೈಯಿಂದ ರಚಿಸಿದ ಕಳುಹಿಸುವವನನ್ನು ಇರಿಸಿ ಮತ್ತು ನಂತರ ಅದರ ಸಾಮಾನ್ಯ ನಾಶವನ್ನು ಏರ್ಪಡಿಸಿ. Spring ನಿರ್ವಹಿಸುವ ಬೀನ್ ಕಂಟೇನರ್‌ನ ಜೀವನಚಕ್ರವನ್ನು ಬಳಸಬಹುದು. ಇತರ ಕಳುಹಿಸುವವರನ್ನು ಇರಿಸುವ ಇತರ ಟೆಂಪ್ಲೇಟ್‌ಗಳು ತಮ್ಮದೇ ಸಾರಿಗೆ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಇರಿಸಿಕೊಳ್ಳುತ್ತವೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು