Agordi perilon de Spring-WS 4.1 kun HttpComponents 5
Agordu la HttpComponents5-klientfabrikon de Spring-WS 4.1 kaj alligu la rezultan sendilon al la WebServiceTemplate.
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);Apliku ĉi tiun sendilon al la ekzistanta template antaŭ alvokoj, konservante la servan URI, la marshaller kaj la aliajn agordojn. Ĉi tio estas Spring-WS 4.1.0 kun Apache HttpClient 5. Se la ŝablono celas permesitan publikan SOAP-servon sen perila aŭtentikigo, HTTP-adreso el la listo de HTTP-periloj povas plenigi la perilon de la agordilo.
withDefaults konservas la interkaptilon, kiu forigas la de SOAP liveritajn Content-Length kaj Transfer-Encoding antaŭ ol Apache generas la HTTP-kadrigon. Aldoni la perilan agordilon tie evitas anstataŭigi tiun integriĝon per nuda kliento. Por aparte konstruita Apache-kliento, konservu la kapforigan interkaptilon de Spring-WS.
Kunordigu la importojn kaj la sendilan generadon. Pli malnovaj ekzemploj kun HttpComponentsMessageSender/org.apache.http uzas Apache 4, ne ĉi tiun SimpleHttpComponents5MessageSender kaj la interfacon HttpHost.
Konservu permane kreitan sendilon dum la tuta vivo de la SOAP-kliento kaj poste zorgu pri ĝgia normala detruo. Spring-administrata bean povas uzi la vivociklon de la ujo. Aliaj ŝablonoj, kiuj konservas aliajn sendilojn, tenas sian propran transportan agordon.