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);

Bruk denne sendaren på den eksisterande template før kall, og hald på tenestas URI, marshaller og andre innstillingar. Dette er Spring-WS 4.1.0 med Apache HttpClient 5. Viss malen rettar seg mot ei tillaten offentleg SOAP-teneste utan proxyautentisering, kan ei HTTP-adresse frå HTTP-proxylista fylla ut proxyen til tilpassaren.

withDefaults held på interceptoren som fjernar Content-Length og Transfer-Encoding som SOAP legg ved, før Apache lagar HTTP-rammeverket. Å leggje til proxy-tilpassaren der hindrar at denne integrasjonen vert erstatta av ein ber klient. For ein separat bygd Apache-klient håld på Spring-WS-interceptoren for fjerning av hovud.

Tilpass importar og sendargenerering. Eldre døme med HttpComponentsMessageSender/org.apache.http brukar Apache 4, ikkje denne SimpleHttpComponents5MessageSender og HttpHost-grensesnittet.

Hald på ein manuelt oppretta sendar gjennom heile levetida til SOAP-klienten, og syta for normal nedbryting etterpå. Ein Spring-styrt bean kan bruke livssyklusen til beholdaren. Andre malar som held på andre sendarar, held på si eiga transportkonfigurasjon.

Relaterte artiklar