WebServiceTemplate šalje preko svog WebServiceMessageSender. Konfigurirajte HTTP klijent tog pošiljatelja kada SOAP odredište zahtijeva 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 predložak aplikacije. Njegov SOAP service URI ostaje odredište; HTTP klijent drži posrednika, koji može biti javni kandidat s popisa HTTP proxyja kada je ta ruta dopuštena.

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

Dodajte potrebne proxy vjerodajnice i vremenska ograničenja na prilagođeni klijent preko njegovih vlastitih podržanih sučelja. Setter metode pošiljatelja nisu zamjena za konfiguriranje već dostavljenog klijenta.

Zadržite klijent za radno opterećenje predloška i zatvorite posjedovane resurse pri gašenju. Ovaj primjer koristi HttpClient 5 pošiljatelja; primjeri Spring WS koji uvoze org.apache.http opisuju drugu generaciju klijenta.

Povezani članci