Apache CXF: el mensaje ha expirado

Ambiente :

  1. Apache CXF 2.7.8
  2. Jboss EAP 6
  3. SoapUI para probar el lado del cliente

Traté de implementar para la autenticación simple, es decir, con el tipo de texto de contraseña simple, está funcionando, pero cuando traté de implementar el tipo de resumen de contraseña, entonces me dio una excepción:

desenrollar ahora: org.apache.cxf.binding.soap.SoapFault: el mensaje tiene   expirado org.apache.ws.security.WSSecurityException: el mensaje tiene   expiró

Estoy dando un nuevo valor de incerteza por cada solicitud y tiempo dentro de los cinco minutos diff

Definición de la clase Beans WSS4JInInterceptor:

<?xml version="1.0" encoding="UTF-8"?>


     
    
     

    

      
         
            
                           

Código de solicitud de cliente xml:

  
 

           
                                joe
                                PE7F51/oyWFVMsiZURuUwjoZVPY=
                         <!--2013-12-17T13:12:00.429Z-->
                           efPSkfHXTM6NFDDD1CJHsw==
                              2013-12-23T12:17:15Z
               




   
      
         <!--Optional:-->
         
            <!--Optional:-->
            234
            <!--Optional:-->
            0908923
            23423
            1000
         
      
   

Cuando traté de llamar al servicio, recibo una excepción


   
      
         ns1:MessageExpired
         The message has expired
      
   

¿Alguien puede decirme dónde estoy cometiendo un error?

0
el servidor y el cliente están en la misma máquina. Comprueba la zona horaria del servidor también ... son correctos. También estoy dando un nuevo valor de nonce para cada solicitud y tiempo dentro de los cinco minutos dif
agregado el autor mahesh, fuente

1 Respuestas

Sospecho que esto es un error en la versión anterior de wss4j. Si está analizando la fecha usando SimpleDateFormat, es posible que desee establecer la zona horaria en UTC (hora zulú).

sdf.setTimeZone("UTC");

Sin embargo, esto se ha corregido en 2.0-beta.

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.wss4j/wss4j-ws-security-dom/2.0-beta /org/apache/wss4j/dom/message/token/UsernameToken.java#226

Editar: Esto no es un error en wss4j. La especificación establece que la zona horaria debe estar en UTC.

0
agregado