I am using the camel cxf component to connect to a partner website.
The partner website requires timestamp security below is my endpoint
configuration. About 25-50% of the time I am receiving a
<faultstring>
Incorrect Timestamp (from Client)
</faultstring>
According the partner this is because the time on the servers is out of
sync and their suggestion is that I subtract 1 second from my timestamp.
I searched the internet and haven't been able to locate an answer to
this. Is it even possible without having access to the underlying libraries?
<cxf:cxfEndpoint
address="{{xxx.ws.protocol}}://{{xxx.ws.domain}}:{{xxx.ws.port}}/{{xxx.ws.service}}"
id="serviceEndPoint" serviceClass="xxx.xxx.xx.Service"
wsdlURL="wsdl/xxxService_stl2_2020.05.20.wsdl"
xmlns:s="http://xx.xxx.xxx">
<cxf:inInterceptors>
<ref bean="loggingInInterceptor"/>
</cxf:inInterceptors>
<cxf:outInterceptors>
<ref bean="loggingOutInterceptor"/>
</cxf:outInterceptors>
<cxf:inFaultInterceptors>
<ref bean="loggingInInterceptor"/>
</cxf:inFaultInterceptors>
<cxf:outFaultInterceptors>
<ref bean="loggingOutInterceptor"/>
</cxf:outFaultInterceptors>
<cxf:properties>
<entry key="ws-security.timestamp.timeToLive" value="600"/>
<entry key="hostnameverifier" value="hostnameVerifier"/>
<entry key="ws-security.must-understand" value="false"/>
<entry key="ws-security.enable.timestamp" value="true"/>
<entry key="ws-security.enable.timestamp.cache" value="false"/>
<!-- <entry key="action" value="UsernameToken
Timestamp Signature"/> -->
<entry key="action" value="Signature Timestamp"/>
<entry key="loggingFeatureEnabled" value="true"/>
</cxf:properties>
</cxf:cxfEndpoint>