import org.apache.hc.core5.http.HttpHost;
import org.springframework.ws.transport.http.HttpComponents5ClientFactory;
import org.springframework.ws.transport.http.SimpleHttpComponents5MessageSender;

var factory = HttpComponents5ClientFactory.withDefaults();
factory.addClientBuilderCustomizer(builder ->
    builder.setProxy(new HttpHost("http", "proxy.example", 8080)));

var sender = new SimpleHttpComponents5MessageSender(factory);
template.setMessageSender(sender);

Primenite ovaj pošiljalac na postojeći template pre poziva, čuvajući URI usluge, marshaller i ostala podešavanja. Ovo je Spring-WS 4.1.0 sa Apache HttpClient 5. Ako šablon cilja dozvoljenu javnu SOAP uslugu bez autentifikacije proksija, HTTP adresa sa liste HTTP proksija može popuniti proksi prilagođivača.

withDefaults zadržava interceptor koji uklanja Content-Length i Transfer-Encoding koje dostavlja SOAP pre nego što Apache generiše HTTP okvire. Dodavanje prilagođivača proksija tu sprečava zamenu te integracije golim klijentom. Za zasebno izgrađen Apache klijent zadržite Spring-WS interceptor za uklanjanje zaglavlja.

Uskladite uvoze i generisanje pošiljaoca. Stariji primeri sa HttpComponentsMessageSender/org.apache.http koriste Apache 4, a ne ovaj SimpleHttpComponents5MessageSender i HttpHost interfejs.

Zadržite ručno kreiran pošiljalac tokom celog veka SOAP klijenta i potom obezbedite njegovo normalno uništenje. Bean kojim upravlja Spring može da koristi životni ciklus kontejnera. Drugi šabloni koji zadržavaju druge pošiljaoce čuvaju sopstvenu transportnu konfiguraciju.

Povezani članci