Nagpapadala ang WebServiceTemplate sa pamamagitan ng WebServiceMessageSender nito. I-configure ang HTTP client ng nagpapadalang iyon kapag ang destinasyong SOAP ay nangangailangan ng forward proxy.

Para sa Spring WS 4.1 na may Apache HttpClient 5 na magagamit:

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);

Ang webServiceTemplate ang umiiral na template ng aplikasyon. Ang SOAP service URI nito ay nananatiling destinasyon; ang HTTP client ang humahawak sa tagapamagitan, na maaaring pampublikong kandidato mula sa listahan ng HTTP proxy kapag pinapayagan ang rutang iyon.

Hindi idinadagdag ng constructor ng custom na client ang karaniwang interceptor ng header ng nagpapadala. Panatilihin ito kapag binubuo ang client: inaalis nito ang mga transport header na ibinibigay ng SOAP na pinamamahalaan ng pagproseso ng kahilingan ng Apache. Ang nagpapadalang binuo sa pamamagitan ng mga default ng client factory ay isa pang landas ng pagbuo na nagpapanatili ng integrasyong ito.

Idagdag ang mga kailangang kredensyal ng proxy at timeout sa custom na client sa pamamagitan ng sarili nitong sinusuportahang interface. Ang mga setter method ng nagpapadala ay hindi kapalit ng pag-configure ng client na naibigay na.

Panatilihin ang client para sa workload ng template at isara ang pag-aaring resources sa shutdown. Ginagamit ng halimbawang ito ang nagpapadalang HttpClient 5; ang mga halimbawa ng Spring WS na nag-aangkat ng org.apache.http ay naglalarawan ng ibang henerasyon ng client.

Kaugnay na mga artikulo