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 контейнердің өмірлік циклін пайдалана алады. Басқа жіберушілерді сақтайтын басқа үлгілер өздерінің көлік конфигурациясын сақтайды.