Pāradresējošs starpniekserveris Spring WebServiceTemplate
Pievienojiet ar starpniekserveri konfigurētu HttpClient 5 transportu WebServiceTemplate un saglabājiet SOAP sūtītāja prasīto galveņu pārtvērēju.
WebServiceTemplate sūta caur savu WebServiceMessageSender. Konfigurējiet šī sūtītāja HTTP klientu, kad SOAP galamērķim nepieciešams pāradresējošs starpniekserveris.
Spring WS 4.1 ar pieejamu 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 ir lietotnes esošā veidne. Tās SOAP pakalpojuma URI paliek galamērķis; HTTP klients tur starpnieku, kas var būt publisks kandidāts no HTTP starpniekserveru saraksta, ja šis maršruts ir atļauts.
Pielāgotā klienta konstruktors nepievieno ierasto sūtītāja galveņu pārtvērēju. Saglabājiet to, kad klients tiek salikts: tas noņem SOAP piegādātās transporta galvenes, ko pārvalda Apache pieprasījumu apstrāde. Sūtītājs, kas veidots ar klienta rūpnīcas noklusējumiem, ir cits veidošanas ceļš, kas saglabā šo integrāciju.
Pievienojiet nepieciešamos starpniekservera akreditācijas datus un taimautus pielāgotajam klientam, izmantojot tā paša atbalstītās saskarnes. Sūtītāja setter metodes neaizstāj jau piegādāta klienta konfigurēšanu.
Saglabājiet klientu veidnes darba slodzei un izslēdzot aizveriet savus resursus. Šajā piemērā izmantots HttpClient 5 sūtītājs; Spring WS piemēri, kas importē org.apache.http, apraksta citu klientu paaudzi.