WebServiceTemplate dërgon përmes WebServiceMessageSender-it të vet. Konfiguroni klientin HTTP të atij dërguesi kur destinacioni SOAP kërkon një proxy përpara.

Për Spring WS 4.1 me Apache HttpClient 5 në dispozicion:

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 është shablloni ekzistues i aplikacionit. URI-ja e shërbimit SOAP mbetet destinacioni; klienti HTTP mban ndërmjetësin, i cili mund të jetë një kandidat publik nga lista e proxy-ve HTTP kur ajo rrugë lejohet.

Konstruktori i klientit të personalizuar nuk shton ndërhyrësin e zakonshëm të kokave të dërguesit. Mbani atë gjatë montimit të klientit: heq kokët e transportit të ofruara nga SOAP që menaxhohen nga përpunimi i kërkesave i Apache. Një dërgues i ndërtuar përmes parazgjedhjeve të fabrikës së klientëve është një rrugë tjetër ndërtimi që ruan këtë integrim.

Shtoni kredencialet e proxy-t dhe afatet e nevojshme në klientin e personalizuar përmes ndërfaqeve të tij të mbështetura. Metodat setter të dërguesit nuk zëvendësojnë konfigurimin e një klienti tashmë të ofruar.

Mbani klientin për ngarkesën e shabllonit dhe mbyllni burimet e zotëruara në mbyllje. Ky shembull përdor dërguesin HttpClient 5; shembujt e Spring WS që importojnë org.apache.http përshkruajnë një brez tjetër klientësh.

Artikuj të ngjashëm