WebServiceTemplate stuur deur sy WebServiceMessageSender. Konfigureer daardie versender se HTTP-kliënt wanneer die SOAP-bestemming 'n voorspel-proxy vereis.

Vir Spring WS 4.1 met Apache HttpClient 5 beskikbaar:

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 is die toepassing se bestaande sjabloon. Sy SOAP-diens-URI bly die bestemming; die HTTP-kliënt hou die tussenganger, wat 'n openbare kandidaat uit die HTTP-proxylys kan wees wanneer daardie roete toegelaat word.

Die konstruktor vir 'n pasgemaakte kliënt voeg nie die versender se gewone kop-interceptor by nie. Behoul dit wanneer die kliënt saamgestel word: dit verwyder SOAP-verskafte vervoerkoptekste wat Apache se versoekverwerking bestuur. 'n Versender wat deur die kliëntfabriek se verstekke gebou word, is 'n ander konstruksiepad wat hierdie integrasie behou.

Voeg vereiste proxy-geloofsbriewe en -tydsperke by die pasgemaakte kliënt deur sy eie ondersteunde koppelvlakke. Die versender se settermetodes is nie 'n plaasvervanger vir die konfigurasie van 'n reeds verskafde kliënt nie.

Behou die kliënt vir die sjabloon se werklading en sluit besitde bronne by afsluiting. Hierdie voorbeeld gebruik die HttpClient 5-versender; Spring WS-voorbeelde wat org.apache.http invoer, beskryf 'n ander kliëntgenerasie.

Verwante artikels