You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Colm O hEigeartaigh <co...@apache.org> on 2011/07/21 12:33:13 UTC

Re: why? org.apache.cxf.binding.soap.SoapFault: The message has expired

What version of CXF are you using? The Timestamp in the security
headers of the message has expired, meaning that it was created over 5
minutes ago, which is the default.

Colm.

On Thu, Jul 21, 2011 at 8:18 AM, duanzongxiang <du...@gmail.com> wrote:
> 2011-07-19 23:54:47,045 [[ACTIVE] ExecuteThread: '0' for queue:
> 'weblogic.kernel.Default (self-tuning)'] INFO
> interceptor.AbstractLoggingInterceptor (AbstractLoggingInterceptor.java:151)
> - Inbound Message
> ----------------------------
> ID: 36
> Address: /sede/webservice/inforce_service
> Encoding: UTF-8
> Content-Type: text/xml; charset=UTF-8
> Headers: {content-type=[text/xml; charset=UTF-8], connection=[keep-alive],
> transfer-encoding=[chunked], Host=[58.61.148.139:7001], SOAPAction=[""],
> User-Agent=[Apache CXF 2.3.2], Content-Type=[text/xml; charset=UTF-8],
> Accept=[*/*], Pragma=[no-cache], Cache-Control=[no-cache]}
> Payload: 2011-07-19T15:55:19.305Z2011-07-19T16:00:19.305Z
>
>
> CN=serverAlias
> 1311064284
>
>
> ItO8TqqcnETDF6wQnD4FezZcWa/kYbc3jzp9w3D8diOE9dLz4sUHjTNtGqEt/1uw9m34LS6+50Tq1bP7g7FD3xc55m88JXkw0euN9iLBzuyMhdFkcSrnHlAX0mrcV0vkL9IsfbW+NV57mDc5STABqB6sSNH3rdhSDZ258yxvf3c=
>
>
>
>
>
>
>
>
> MuyCC/n0PSam44RmAH0SnWV2jmM=
>
>
>
> SsR+W7gKgbxB+3faIo5Sjvsj8sDN49tEKa6DRaY64pzevCYLNpoiAZWOOYfIPm6r4iAkjGBTRYjE
> nbMAMFAHhH+9Aq2tfajjyVQ/eznqVhCrqK7Cx/cQyptgeBfx+gM8ycFJgvGCHCoTkPxbK/Tu/JUF
> SdY4WEZKk+hk7VmQfho=
>
>
>
>
> CN=client
> 1311064286
>
>
>
>
>
> E5D5HVYgtheymgHncuSUvU3DtT9G37M0qQw2Rwv3yWtbkEhP7IWEFRJYFED0MymtBxtD1+mUtN1w
> FubNZQXNTVPfe2d1/D7rh028NNRsNB3/Xd5I2QKhGZXdHE4sMwxDIKxftYpJzltg7l4bfkiwmYEV
> ZLQbuZL3xEIfrMxz+yBwHwd0DbUcTIXfOu7R4Y2MN8XepiVjT70Y+LZLEcyOAYDiVKt+1IUEP7kl
> 3WkmTuNeqjNAsyhLX2WVciKjS/XZFJSc64361fhVLZYHKOkHFlMqOscZ0TtkmUy4e0DA76zuQdDm
> ZV0EHmCl6DHH0RJs2huTyh7UWOXEk6MqMava6+xB2Zr+o70U5FpHB96UgqKRpdPhPeenZ7+gLN02
> x2kJ7FahRbau/jC2ord/Q6fxM27q0GhfXXgZhcXX7cK1PQ44ClO0s+yF0ypE/z0CpmxjpsqZ42pQ
> lgnMFPbS9ukkLNXZfC4lTf/qmibbtLsL5WHyiKL4AICRUmcYm9JPHju7RrDdR7U3hltSBOLaO6TU
> 4w==
> --------------------------------------
> 2011-07-19 23:54:47,055 [[ACTIVE] ExecuteThread: '0' for queue:
> 'weblogic.kernel.Default (self-tuning)'] WARN  wss4j.WSS4JInInterceptor
> (WSS4JInInterceptor.java:362)     - The timestamp could not be validated
> 2011-07-19 23:54:47,056 [[ACTIVE] ExecuteThread: '0' for queue:
> 'weblogic.kernel.Default (self-tuning)'] WARN  wss4j.WSS4JInInterceptor
> (WSS4JInInterceptor.java:274)     -
> org.apache.ws.security.WSSecurityException: The message has expired
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.checkTimestamps(WSS4JInInterceptor.java:363)
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:233)
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:81)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
>        at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
>        at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
>        at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
>        at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
>        at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
>        at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
>        at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>        at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
>        at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
>        at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>        at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
>        at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
>        at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
>        at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>        at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>        at
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
>        at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
>        at
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> 2011-07-19 23:54:47,056 [[ACTIVE] ExecuteThread: '0' for queue:
> 'weblogic.kernel.Default (self-tuning)'] WARN  phase.PhaseInterceptorChain
> (LogUtils.java:369)     - Interceptor for
> {http://impl.service.sede.sinolife.com/}InforceServiceImplService has thrown
> exception, unwinding now
> org.apache.cxf.binding.soap.SoapFault: The message has expired
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.createSoapFault(WSS4JInInterceptor.java:654)
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:275)
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:81)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
>        at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
>        at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
>        at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
>        at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
>        at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
>        at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
>        at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>        at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
>        at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
>        at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>        at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
>        at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
>        at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
>        at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>        at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>        at
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
>        at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
>        at
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> Caused by: org.apache.ws.security.WSSecurityException: The message has
> expired
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.checkTimestamps(WSS4JInInterceptor.java:363)
>        at
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:233)
>        ... 23 more
>
>
>
> cxf-servlet.xml:
>
>
>
>
>
>
>
>
>
>                                classpath:app.properties
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>                                                passwordCallbackRef
>
>
>
>
>
>
>
>
>
>
>
>                        ${xmlfilepath}
>
>
>
>
>                        ${xmlfilepath}
>
>
>                        ${getPolicyByApproveDate}
>
>
>                        ${getCustomerByApproveDate}
>
>
>                        ${getPolicyByPolicyNo}
>
>
>                        ${getCustomerByPolicyNo}
>
>
>
>
>                        ${xmlfilepath}
>
>
>                        ${getPaidByMonth}
>
>
>
>
>                        ${xmlfilepath}
>
>
>                        ${getRenewByMonth}
>
>
>
>
>
>
> clientApplication.xml:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>                                                passwordCallbackRef
>
>
>
>
>
>
>
>
>
>
>
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/why-org-apache-cxf-binding-soap-SoapFault-The-message-has-expired-tp4618394p4618394.html
> Sent from the cxf-dev mailing list archive at Nabble.com.
>



-- 
Colm O hEigeartaigh

http://coheigea.blogspot.com/
Talend - http://www.talend.com