E Spring-WS 4.1-Proxy mat HttpComponents 5 konfiguréieren
Passt d'HttpComponents5-Clientfabréck vum Spring-WS 4.1 un a verbënnt de resultéierende Sender mam 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);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.