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.

Ähnlech Artikelen