Почему Tomcat выдает ошибку при изменении хранилища ключей?

StackOverflow https://stackoverflow.com/questions/1831619

Вопрос

У меня проблема с клиентом axis2 внутри веб-службы JAX-WS.Этот веб-сервис JAX-WS находится внутри контейнера Tomcat.Файл хранилища ключей извлекается динамически из базы данных.Когда я запускаю Tomcat, я могу нормально использовать ws-client, и он работает нормально, но если я изменю хранилище ключей, произойдет сбой с трассировкой стека, как показано ниже.Если я перезапущу Tomcat, он будет работать нормально.Есть ли в Rampart или Tomcat статические переменные, которые не сбрасываются до перезапуска Tomcat?Я использую Rampart-Module 1.3 для подписи сообщений для безопасного веб-сервиса.Я думаю, что конфигурации притока и оттока верны, поскольку я печатал их в журнале.

Stacktrace в журнале Tomcat Catalina:

 org.apache.axis2.AxisFault: Error during Signature: ; nested exception is:
        org.apache.ws.security.WSSecurityException: General security error (No certificates for user user1 were found for signature)
        at org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender.java:67)
        at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
        at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
        at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:416)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
Это было полезно?

Решение

Хорошо, я нашел решение.Хитрость заключалась в использовании конфигурации PolicyBased.Я использовал старую конфигурацию на основе параметров.Вот ссылка на отличный блог Thilina:

Как программно собрать Rampart-config..

Не забудьте определить файл policy.xml при работе с этим руководством.Это было то, что я сначала забыл сделать :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top