我在 JAX-WS Web 服务中遇到了 axis2-client 的问题。此 JAX-WS Web 服务位于 Tomcat 容器内。Keystorefile 是从数据库中动态检索的。当我启动 Tomcat 时,我可以正常使用 ws-client 并且它工作正常,但是如果我更改密钥库,它会失败并显示如下所示的堆栈跟踪。如果我重新启动 Tomcat,它工作正常。壁垒或 tomcat 是否有一些静态变量在 Tomcat 重新启动之前不会刷新?我使用 armart-module 1.3 为安全 Web 服务签署消息。我认为流入和流出配置是正确的,因为我一直在日志中打印它们。
Tomcat Catalina 日志中的 Stacktrace:
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)