Spring-WS 4.1 проксисин HttpComponents 5 менен конфигурациялоо
Spring-WS 4.1дин HttpComponents5 кардар фабрикасын ыңгайлаштырып, алынган жөнөтүүчүнү WebServiceTemplateке туташтырыңыз.
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);Чалуулардан мурун бул жөнөтүүчүнү учурдагы templateге колдонуңуз, кызматтын URIин, marshaller жана башка жөндөөлөрдү сактаңыз. Бул Apache HttpClient 5 менен Spring-WS 4.1.0. Эгер үлгү прокси аутентификациясыз уруксат берилген коомдук SOAP кызматын көздөсө, HTTP прокси тизмесинен алынган HTTP дареги ыңгайлаштыргычтын проксисин толтурушу мүмкүн.
withDefaults Apache HTTP алкагын түзөөрдөн мурун SOAP берген Content-Length жана Transfer-Encoding баштарын алып салган интерцепторду сактайт. Ошол жерге прокси ыңгайлаштыргычын кошуу бул интеграциянын жылаңач кардар менен алмаштырылышын болтурбайт. Өзүнчө курулган Apache кардары үчүн Spring-WSтин баш жазууларды алып салуучу интерцепторун сактаңыз.
Импортторду жана жөнөтүүчүнү түзүүнү шайкеш келтириңиз. HttpComponentsMessageSender/org.apache.http колдонгон эски мисалдар Apache 4кө таянат, бул SimpleHttpComponents5MessageSender жана HttpHost интерфейсине эмес.
Кол менен түзүлгөн жөнөтүүчүнү SOAP кардарынын бүт өмүрү бою сактап, кийин анын кадимки жок кылынышын камсыз кылыңыз. Spring башкарган bean контейнердин өмүр циклин колдоно алат. Башка жөнөтүүчүлөрдү сактаган башка үлгүлөр өздөрүнүн транспорт конфигурациясын сакташат.