Мне нужен клиент для связи с WebService через SOAP в приложении Java-Spring. И у меня есть одна конечная точка/ресурс и разные пользователи, которые имеют разные сертификаты для получения токена STS.
На данный момент я рассматриваю Spring WS и столкнулся с проблемой, заключающейся в том, что WebServiceTemplate является одноэлементным bean-компонентом, где я могу установить сертификат во время конфигурации (через Wss4jSecurityInterceptor) и, конечно же, не могу изменить его во время выполнения, потому что другие потоки будут недовольны.
Мой текущий решения:
- Переопределить WebServiceMessageCallback и написать код для создания заголовка WS-Sec вручную.
- Создание WebServiceTemplate для каждого запроса.
Итак, основная цель — иметь настроенный клиент, которому я могу передавать сертификаты или имя пользователя и пароль во время выполнения. И этот клиент может работать с WS-Security и создавать необходимый заголовок. Мои вопросы:
- Сталкивался ли кто-нибудь с такой же проблемой? Как вы с этим справились?
- Может быть, кто-нибудь предложит другие инструменты/технологии/библиотеки, которые смогут решить этот случай?
Подробнее здесь: https://stackoverflow.com/questions/798 ... credential
Мобильная версия