Spring Security — Wss4jSecurityInterceptor — нулевой указатель

Мне посчастливилось перенести большую монолитную систему с Java7 и Scala 2.10 на Java8 и Scala 2.11. Все идет нормально. Приложение использует SpringSecurity.

После обновления библиотек Spring до новейшей мы столкнулись с исключением нулевого указателя, созданным в Wss4jSecurityInterceptor в методе validateMessage здесь:

if (validationActionsVector.contains(WSConstants.NO_SECURITY)) {
            return;
}

Исключение возникает во время выполнения теста. Однако, прежде чем я опубликую здесь тонны кода (тест/реализация...), возможно, у кого-то есть идея, как подойти к проблеме - или какую часть следует изучить более подробно.

РЕДАКТИРОВАТЬ:

Интересен тот факт, что при компиляции с Java7 и Scala 2.10 (с одинаковыми версиями библиотек) исключение нулевого указателя не возникает.


person λ Allquantor λ    schedule 26.09.2016    source источник


Ответы (2)


Это открытая ошибка SWS. Если вы не используете проверку (параметры validationActions не установлены) , затем выполните:

interceptor.setValidateResponse(false);
interceptor.setValidateRequest(false);

Изменить: по состоянию на 30.10.2017 ошибка устранена. Должен нормально работать с версиями 2.4.1, 3.0.0.RELEASE и выше.

person hakamairi    schedule 16.12.2016

основная причина - несоответствие версий ws и xmlsec. если вы только клиент, вы можете отказаться от проверки.

interceptor.setValidationActions("NoSecurity");
interceptor.setValidateResponse(false);
person tugos    schedule 05.12.2016