Antaŭa prokuro por la WebServiceTemplate de Spring
Konektu prokure agordan transporton HttpClient 5 al WebServiceTemplate kaj konservu la bezonatan kaplinĉerpon de la SOAP-sendanto.
WebServiceTemplate sendas per sia WebServiceMessageSender. Agordu la HTTP-klienton de tiu sendanto kiam la SOAP-celo postulas antaŭan prokuron.
Por Spring WS 4.1 kun disponebla 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 estas la ekzistanta ŝablono de la aplikaĵo. Ĝia SOAP-service URI restas la celo; la HTTP-kliento tenas la peranton, kiu povas esti publika kandidato el la listo de HTTP-prokuroj kiam tiu vojo estas permesata.
La konstruilo de propra kliento ne aldonas la kutiman kaplinĉerpon de la sendanto. Konservu ĝin kiam vi kunmetas la klienton: ĝi forigas transportajn kapliniojn provizitajn de SOAP, kiujn administras la petprilaborado de Apache. Sendanto konstruita per la defaŭltoj de la klientfabriko estas alia konstruvojo, kiu konservas ĉi tiun integriĝon.
Aldonu la bezonatajn prokurajn akreditaĵojn kaj tempolimojn al la propra kliento per ĝiaj propraj subtenataj interfacoj. La agordaj metodoj de la sendanto ne anstataŭas agordi jam provizitan klienton.
Konservu la klienton por la laborŝarĝo de la ŝablono kaj fermu posedatajn rimedojn ĉe malŝalto. Ĉi tiu ekzemplo uzas la HttpClient 5-sendanton; Spring WS-ekzemploj importantaj org.apache.http priskribas alian klientgeneracion.