Előre irányító proxy a Spring WebServiceTemplate-hez
Csatlakoztasson proxyval beállított HttpClient 5 szállítást a WebServiceTemplate-hez, és tartsa meg a SOAP-küldő által igényelt fejlécelfogót.
A WebServiceTemplate a saját WebServiceMessageSenderén keresztül küld. Állítsa be annak a küldőnek a HTTP-ügyfelét, amikor a SOAP-cél előre irányító proxyt igényel.
A Spring WS 4.1-hez elérhető Apache HttpClient 5 mellett:
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);A webServiceTemplate az alkalmazás meglévő sablonja. A SOAP-szolgáltatás URI-ja marad a cél; a HTTP-ügyfél tartja a közvetítőt, amely nyilvános jelölt lehet a HTTP-proxy listáról, ha az az útvonal engedélyezett.
Az egyedi ügyfél konstruktora nem adja hozzá a küldő szokásos fejlécelfogóját. Az ügyfél összeállításakor tartsa meg: eltávolítja a SOAP által biztosított átviteli fejléceket, amelyeket az Apache kérésfeldolgozása kezel. A ügyfélgyár alapértelmezésein keresztül épített küldő egy másik építési útvonal, amely megőrzi ezt az integrációt.
Adja hozzá a szükséges proxy-hitelesítő adatokat és időtúllépéseket az egyedi ügyfélhez annak saját támogatott felületein keresztül. A küldő setter metódusai nem helyettesítik egy már biztosított ügyfél beállítását.
Tartsa meg az ügyfelet a sablon munkaterheléséhez, és állításkor zárja le a saját erőforrásokat. Ez a példa a HttpClient 5 küldőt használja; az org.apache.http-t importáló Spring WS példák egy másik ügyfélgenerációt írnak le.