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

Defnyddiwch yr anfonwr hwn ar yr template presennol cyn galwadau, gan gadw URI'r gwasanaeth, y marshaller a gosodiadau eraill. Spring-WS 4.1.0 gydag Apache HttpClient 5 yw hwn. Os yw'r templed yn targedu gwasanaeth SOAP cyhoeddus a ganiateir heb ddilysu dirprwy, gall cyfeiriad HTTP o'r rhestr dirprwyon HTTP lenwi dirprwy'r addasydd.

Mae withDefaults yn cadw'r rhyng-gipiwr sy'n tynnu'r Content-Length a'r Transfer-Encoding a roddir gan SOAP cyn i Apache gynhyrchu ffrâmio HTTP. Mae ychwanegu'r addasydd dirprwy yno yn osgoi disodli'r integreiddiad hwnnw â chleient noeth. Ar gyfer cleient Apache a adeiladwyd ar wahân, cadwch ryng-gipiwr tynnu penawdau Spring-WS.

Cyfunwch y mewnforion a chynhyrchu'r anfonwr. Mae enghreifftiau hŷn gyda HttpComponentsMessageSender/org.apache.http yn defnyddio Apache 4, nid yr SimpleHttpComponents5MessageSender hwn a'r rhyngwyneb HttpHost.

Cadwch anfonwr a gręwyd â llaw am oes y cleient SOAP a threfnwch ei ddinistrio arferol wedyn. Gall bean a reolir gan Spring ddefnyddio cylch bywyd y cynhwysydd. Mae templedi eraill sy'n cadw anfonwyr eraill yn cadw eu ffurfweddiad cludo eu hunain.

Erthyglau cysylltiedig