Web services Websphere时间戳值出现的时间太长

Web services Websphere时间戳值出现的时间太长,web-services,websphere,websphere-7,ws-security,usernametoken,Web Services,Websphere,Websphere 7,Ws Security,Usernametoken,我已经设置了用户名令牌webservice安全性,并在WebSphere7.0AppServer上部署了此应用程序。我已将以下属性设置为false: com.ibm.wsspi.wssecurity.token.username.verifyNonce false com.ibm.wsspi.wssecurity.token.username.verifyTimestamp false 即使设置了上述属性,客户端仍会收到以下错误消息: security.wssecurity.WSSContext

我已经设置了用户名令牌webservice安全性,并在WebSphere7.0AppServer上部署了此应用程序。我已将以下属性设置为false:

com.ibm.wsspi.wssecurity.token.username.verifyNonce false com.ibm.wsspi.wssecurity.token.username.verifyTimestamp false

即使设置了上述属性,客户端仍会收到以下错误消息:

security.wssecurity.WSSContextImpl.s02:com.ibm.websphere.security.WSSecurityException:Exception org.apache.axis2.AxisFault:CWWSS5208E:时间戳值出现的时间太长。运行操作时观察到:

有人能帮我摆脱这个错误吗

是否可以为允许的时间差设置任何属性?或者,是否可以在webservice绑定中设置任何属性来消除此错误

谢谢,
Girish

由于您已关闭verifyTimestamp和verifyNonce,因此此错误可能来自Timestamp元素。您的安全标头中是否有时间戳?我认为,如果错误是针对在UsernameToken中创建的,则会出现以下错误:

CWWSS5209E:nonce的时间戳值是一个随机生成的值,发生的时间太长

默认时钟偏移为3分钟。如果需要更长,可以在ws-security绑定中使用此自定义属性进行设置:

com.ibm.wsspi.wssecurity.core.TimestampClockSkew

该值以秒为单位。您可以在此处设置它:

(打开绑定)>WS-Security>自定义属性

由于它是一个入站自定义属性,您可以将其置于“入站自定义属性”或“入站和出站自定义属性”下

已创建UsernameToken的clockskew属性 com.ibm.ws.wssecurity.config.token.BasicAuth.Nonce.clockSkew,它在上述常规自定义属性中配置


如前所述,最好的办法是同步你的时钟。我理解增加时钟偏移的动机;我们的一个服务器有一个“漂移”的时钟。我们最终解决了这个问题,添加了一个cron作业,每天将时钟与我们的注册表(有时间服务)同步。

您已经检查了两个系统上的系统时间了吗?理想情况下,Web服务的客户端可以有不同的时区、计时@Stefan::你是说客户端和服务器应该在syn中有时钟吗?是的。即使有不同的时区,时间也应该并且将以UTC发送。如果服务器的时钟与实时时间相差太远,我预计会发生类似的情况。