En Forward-Proxy fir dem Spring seng WebServiceTemplate
Verbannt en proxy-konfiguréierten HttpClient 5-Transport mam WebServiceTemplate a behält den Header-Interceptor deen de SOAP-Sender brauch.
WebServiceTemplate schéckt iwwer säi WebServiceMessageSender. Konfiguréiert den HTTP-Client vun deem Sender wann d'SOAP-Zil en Forward-Proxy erfuerdert.
Fir Spring WS 4.1 mat Apache HttpClient 5 verfügbar:
var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
.setProxy(new org.apache.hc.core5.http.HttpHost(
"http", "proxy.example", 8080))
.addRequestInterceptorFirst(
new org.springframework.ws.transport.http
.HttpComponents5ClientFactory.RemoveSoapHeadersInterceptor())
.build();
var sender = new org.springframework.ws.transport.http
.HttpComponents5MessageSender(http);
webServiceTemplate.setMessageSender(sender);webServiceTemplate ass de bestehenden Template vun der Applikatioun. Seng SOAP-Service-URI bleift d'Zil; den HTTP-Client hält den Zwëschemann, deen en ëffentleche Kandidat aus der HTTP-Proxy-Lëscht ka sinn, wann dëse Wee erlaabt ass.
De Konstruktor vun engem personaliséierte Client setzt net de gewéinlechen Header-Interceptor vum Sender derbäi. Behält en beim Zesummesetze vum Client: en hëlt SOAP-geliwwert Transport-Header ewech, déi d'Apache-Ufroveraarbechtung verwalt. En Sender, deen iwwer d'Standarde vun der Clientfabréck gebaut gëtt, ass en anere Konstruktiounswee, deen dës Integratioun behält.
Setzt déi néideg Proxy-Authentifikatiounen an Zäitlimiten um personaliséierte Client duerch seng eege ënnerstëtzt Interfacee bäi. D'Setter-Methoden vum Sender ersetzen net d'Konfiguratioun vun engem Client, deen schonn geliwwert gouf.
Behält den Client fir d'Aarbechtslaascht vum Template a maacht eegen Ressourcen beim Ausschalten zou. Dëst Beispill benotzt den HttpClient 5-Sender; Spring WS-Beispiller, déi org.apache.http importéieren, beschreiwen eng aner Client-Generatioun.