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);

Wendt dësen Sender virun den Opruffer op den existéierenden template un a behält d'URI vum Service, de Marshaller an aner Astellungen. Dëst ass Spring-WS 4.1.0 mat Apache HttpClient 5. Wann d'Schabloun eng erlaabte ëffentlech SOAP-Service ouni Proxy-Authentifikatioun uviséiert, kann eng HTTP-Adress aus der HTTP-Proxy-Lëscht de Proxy vum Upassung ausfëllen.

withDefaults behält den Interceptor, deen d'Content-Length an Transfer-Encoding, déi vum SOAP komm, ewechhëlt, ier Apache d'HTTP-Kaderung generéiert. Wann een den Proxy-Upassung do bäisetzt, gëtt dës Integratioun net duerch e blosse Client ersat. Fir en eegenstänneg gebauten Apache-Client behält den Header-Ewechhuel-Interceptor vum Spring-WS.

Stëmmt d'Importer an d'Sender-Generéierung openeen of. Méi al Beispiller mat HttpComponentsMessageSender/org.apache.http benotzen Apache 4, net dësen SimpleHttpComponents5MessageSender an d'HttpHost-Interface.

Behält en handgeschriwwenen Sender fir d'ganz Liewensdauer vum SOAP-Client a suergt duerno fir seng normal Zerstéierung. Eng Bean, déi vu Spring verwalt gëtt, kann de Liewenszyklus vum Container benotzen. Aner Schablounen, déi aner Sender behällen, behalen hir eege Transportkonfiguratioun.

Ähnlech Artikelen