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>

Reply via email to