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 باشقۇرىدىغان bean قاچىنىڭ ھايات دەۋرىنى ئىشلىتەلەيدۇ. باشقا ئەۋەتكۈچلەرنى ساقلايدىغان باشقا قېلىپلار ئۆزلىرىنىڭ يۆتكەش سەپلىمىسىنى ساقلايدۇ.

مۇناسىۋەتلىك ماقالىلەر