为什么Tomcat的错误,当我改变密钥库?
-
11-09-2019 - |
题
我有内部JAX-WS web服务的axis2的客户端的一个问题。这JAX-WS Web服务是Tomcat容器内。 Keystorefile从数据库动态检索。当我启动Tomcat我可以使用WS-客户端通常,它工作正常,但如果我改变了密钥库失败如下所示堆栈跟踪。如果我重新启动Tomcat,它工作正常。是否壁垒或Tomcat都没有被刷新,直到Tomcat的一些静态变量重新启动?我使用的壁垒模块1.3签消息安全的Web服务。我认为,流入和流出CONFIGS是正确的,因为我已经在日志中被打印。
栈跟踪Tomcat中卡塔利娜日志:
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)
解决方案
好,我发现了解决方案。诀窍是使用基于策略的配置。我用的是旧ParameterBased配置。下面是Thilina极大的博客链接:
记住以下这个教程时,以限定policy.xml文件。这是东西,我第一次忘了做:)
不隶属于 StackOverflow