Perchè l'errore Tomcat quando cambio la chiavi?
-
11-09-2019 - |
Domanda
Ho un problema con axis2-client all'interno di servizi web JAX-WS. Questo servizio web JAX-WS è all'interno del contenitore Tomcat. KeystoreFile viene recuperato dinamicamente da database. Quando inizio Tomcat posso usare WS-client normalmente e funziona benissimo, ma se cambio il keystore non riesce con stacktrace illustrato di seguito. Se ricomincio Tomcat funziona benissimo. Does baluardo o Tomcat hanno alcune variabili statiche che non vengono lavati fino Tomcat viene riavviato? Io uso baluardo modulo 1,3 a firmare il messaggio per un servizio web sicuro. Penso di afflusso e deflusso configurazioni sono corretti da quando sono stato li stampa in registro.
Lo Stacktrace in Tomcat log 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)
Soluzione
Ok ho scoperto la soluzione. Il trucco è stato quello di utilizzare la configurazione PolicyBased. Stavo usando vecchia configurazione ParameterBased. Ecco un link al grande blog da Thilina:
Come costruire baluardo-config di programmazione ..
Ricordate di definire file policy.xml quando a seguito di questo tutorial. Questo era qualcosa che ho dimenticato di fare:)