WebServiceTemplate pošilja prek svojega WebServiceMessageSender. Konfigurirajte odjemalca HTTP tega pošiljatelja, ko cilj SOAP zahteva posredniški proxy.

Za Spring WS 4.1 z razpoložljivim Apache HttpClient 5:

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 je obstoječa predloga aplikacije. Njen URI storitve SOAP ostaja cilj; odjemalec HTTP hrani posrednika, ki je lahko javni kandidat s seznama proxyjev HTTP, kadar je ta pot dovoljena.

Konstruktor odjemalca po meri ne doda običajnega prestreznika glav pošiljatelja. Ob sestavljanju odjemalca ga ohranite: odstrani transportne glave, ki jih zagotavlja SOAP in jih upravlja obdelava zahtev Apache. Pošiljatelj, zgrajen prek privzetih nastavitev tovarne odjemalcev, je druga pot gradnje, ki ohrani to integracijo.

Dodajte zahtevane poverilnice proxyja in časovne omejitve odjemalcu po meri prek njegovih lastnih podprtih vmesnikov. Setter metode pošiljatelja ne nadomestijo konfiguracije že zagotovljenega odjemalca.

Ohranite odjemalca za delovno obremenitev predloge in ob zaustavitvi zaprite lastne vire. Ta primer uporablja pošiljatelja HttpClient 5; primeri Spring WS, ki uvažajo org.apache.http, opisujejo drugo generacijo odjemalcev.

Sorodni članki