1

JAX-WS Web サービス内の axis2-client に問題があります。この JAX-WS Web サービスは、Tomcat コンテナー内にあります。キーストアファイルはデータベースから動的に取得されます。Tomcat を起動すると、ws-client を通常どおり使用でき、正常に動作しますが、キーストアを変更すると、以下に示すスタックトレースで失敗します。Tomcat を再起動すると、正常に動作します。城壁または tomcat には、Tomcat が再起動されるまでフラッシュされない静的変数がいくつかありますか? セキュリティで保護された Web サービスのメッセージに署名するために、rampart-module 1.3 を使用しています。ログに出力しているので、流入と流出の構成は正しいと思います。

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)
4

1 に答える 1

1

わかりました、私は解決策を見つけました。秘訣は、ポリシーベースの構成を使用することでした。古いParameterBased構成を使用していました。これがThilinaによる素晴らしいブログへのリンクです:

プログラムでrampart-configを構築する方法。

このチュートリアルに従うときは、policy.xmlファイルを定義することを忘れないでください。これは私が最初にやることを忘れたものでした:)

于 2009-12-29T12:30:03.287 に答える