WebServiceTemplate шаље преко свог WebServiceMessageSender. Конфигуришите HTTP клијент тог пошиљаоца када SOAP одредиште захтева предњи прокси.

За Spring WS 4.1 уз доступан Apache HttpClient 5:

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

webServiceTemplate је постојећи шаблон апликације. Његов SOAP service URI остаје одредиште; HTTP клијент држи посредника, који може бити јавни кандидат са листе HTTP проксија када је та рута дозвољена.

Конструктор прилагођеног клијента не додаје уобичајени пресретач заглавља пошиљаоца. Задржите га при састављању клијента: уклања транспортна заглавља која пружа SOAP, а којима управља Apache-ова обрада захтева. Пошиљалац изграђен преко подразумеваних поставки фабрике клијената други је пут изградње који задржава ову интеграцију.

Додајте потребне акредитиве проксија и временска ограничења на прилагођени клијент преко његових сопствених подржаних интерфејса. Setter методе пошиљаоца нису замена за конфигурисање већ достављеног клијента.

Задржите клијент за радно оптерећење шаблона и затворите поседоване ресурсе при гашењу. Овај пример користи HttpClient 5 пошиљаоца; примери Spring WS који увозе org.apache.http описују другу генерацију клијената.

Повезани чланци