Our scheduled jobs(in java) to fetch Reuters "end of day" and "tickhistory" data are failing on S...

...undays with some certification error while connecting to get token, this is working fine on any other day of the week.

url : https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken

Error received : Caused by:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target.

Job scheduled for 07:30 AM CEST

Best Answer

  • @sorari.pradeep, there are maintenance periods on the servers, usually on Sundays.

    They can sometimes be longer than usual, like last weekend, for the migration to DSS 12.2, when it was planned that service would be unavailable approx. 7 hours starting 18:00 GMT Saturday October 13 (I do not know how long the effective unavailable time was).

    Could you post the error you get, and tell us when it occurred (exact time and timezone) ? That would allows us to double check if your call failed due to maintenance.

    Added after you posted the error message and timing:

    The error message indicates that a trusted connection over SSL could not be established. This can have various causes, but considering your application works every day except Sunday, it is not a programming or certificate issue, it is probably a connectivity issue.

    This could be due to:

    • Maintenance on the DSS server side. Usually happens on weekends, can last several hours. I tried but could not find out how long the 12.2 migration actually took last weekend.
    • Maintenance on your own network. You might want to check with your IT team if there is any maintenance going on on weekends that could impact internet connectivity, on proxies, firewalls or other.

    How to work around this:

    • If the error happens every Sunday, then it is probably in a maintenance period (be it on the server or client side). In that case I'd suggest changing the schedule time on Sundays, setting it a few hours later.
    • Whatever the error frequency, I'd suggest implementing a process that, upon connection failure, waits a few minutes, then tries again. I would set this loop to time out only after a fairly long time, maybe 12 hours. This would make your application resilient and allow it to handled prolonged maintenance periods.

    Added: Service alerts:

    You can subscribe to alerts, use the service alert wizard.

Answers