1 Reply Latest reply on Nov 24, 2011 9:46 PM by ffang

    Ws-Security - Possible to process Timestamp element without wsu: prefix?

    jaco.van.tonder

      Hello guys,

       

      I have a problem with a web service client not sending a WS Security Timestamp element as expected.

       

      Here is a snippet of the request from the client, that fails:

       

      -


      8

      -


      >8----

       

      Request Processing Debug Log:

      -


      8<----

      13:57:29,578        DEBUG TimestampProcessor:46 - Found Timestamp list element

      13:57:29,578         WARN WSS4JInInterceptor:307 -

      org.apache.ws.security.WSSecurityException: An error was discovered processing the <wsse:Security> header (WSSecurityEngine: Invalid timestamp )

              at org.apache.ws.security.message.token.Timestamp.(Timestamp.java:128)

              at org.apache.ws.security.processor.TimestampProcessor.handleToken(TimestampProcessor.java:52)

              at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)

              ....

      -


      >8----

       

      If the client changes his request to include the wsu namespace prefix, the call succeeds:

       

      -


      8<----

      <wsu:Timestamp Id="Timestamp-dcb89891-c619-4704-8c6c-d3dc1eedb046" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

              <wsu:Created>2011-11-24T11:28:00Z</wsu:Created>

              <wsu:Expires>2011-11-24T16:28:00Z</wsu:Expires>

      </wsu:Timestamp>

      -


      >8----

       

      Request Processing Debug Log:

      -


      8<----

      13:28:26,107        DEBUG TimestampProcessor:46 - Found Timestamp list element

      13:28:26,108        DEBUG Timestamp:151 - Current time: 2011-11-24T11:28:26.107Z

      13:28:26,108        DEBUG Timestamp:156 - Timestamp created: 2011-11-24T11:28:00.000Z

      13:28:26,109        DEBUG Timestamp:162 - Timestamp expires: 2011-11-24T16:28:00.000Z

      13:28:26,109        DEBUG Timestamp:342 - Validation of Timestamp: Everything is ok

      -


      >8----

       

      I have looked at the WSS4J Timestamp processesing code and it seems like it is indeed expecting the wsu namespace prefix.

       

      My question is this: Should the namespace that is defined on the Timestamp element not automatically pull through to the child elements at processing time?

       

      Thank you,

      ---Jaco