WebServiceTemplate šalje preko svog WebServiceMessageSender. Konfigurišite HTTP klijent tog pošiljaoca kada SOAP odredište zahteva prednji proxy.

Za Spring WS 4.1 uz dostupan 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 postojeći šablon aplikacije. Njegov SOAP service URI ostaje odredište; HTTP klijent drži posrednika, koji može biti javni kandidat sa liste HTTP proxyja kada je ta ruta dozvoljena.

Konstruktor prilagođenog klijenta ne dodaje uobičajeni presretač zaglavlja pošiljaoca. Zadržite ga pri sastavljanju klijenta: uklanja transportna zaglavlja koja pruža SOAP, a kojima upravlja Apacheova obrada zahteva. Pošiljalac izgrađen preko podrazumevanih postavki fabrike klijenata drugi je put izgradnje koji zadržava ovu integraciju.

Dodajte potrebne proxy akreditive i vremenska ograničenja na prilagođeni klijent preko njegovih sopstvenih podržanih interfejsa. Setter metode pošiljaoca nisu zamena za konfigurisanje već dostavljenog klijenta.

Zadržite klijent za radno opterećenje šablona i zatvorite posedovane resurse pri gašenju. Ovaj primer koristi HttpClient 5 pošiljaoca; primeri Spring WS koji uvoze org.apache.http opisuju drugu generaciju klijenta.

Povezani članci