我有内部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文件。这是东西,我第一次忘了做:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top