NTLM API Calls Failing using WR Subtag

Options

Recently we upgraded our system from CS 16.2.5 to CS 20.2 and started seeing this issue intermittently.

We are calling some external .NET NTLM web services from Content server using Web Reports FetchURL subtag. Since FetchURL subtag doesn’t support secure calls(https) we wrote an JAVA utility(jar file along with custom subtag) which support secure calls. This has been working fine in CS 16.2.5, however during our recent upgrade to CS 20.2 we started seeing .NET web services calls failing intermittently with 401 unauthorized error code, after looking into API logs it appears that handshake is not happening properly with API server when the it fails. However, everything works fine and we get response from API as soon as we re-start CS livelink service. We can’t reproduce this issue as it starts happening with any maintenance activity during which CS services gets re-started.

Error:: NIAIDSecureWS Exception :java.io.IOException: Server returned HTTP response code: 401 for URL: XXXXXXX at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1919) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515) at gov.nih.niaid.NIAIDSecureWS.getDataFromServer(NIAIDSecureWS.java:73) at gov.nih.niaid.NIAIDSecureWS.niaidSecureFetchUrl(NIAIDSecureWS.java:45)

We also tried to capture traffic using netMon, it seems whenever it fails the http request don’t have authorization header. Please find below netmon capture from good and bad response.

Good Response:

Bad Response: