Support Article

Connect-REST fails with Read timed out error

SA-37915

Summary



User is on Pega 7.2.1 and invokes a Connect-REST to search the orders.

The connector is returning socket timeout exception and returning no results.

The REST service when called from SOAP-UI returns result. The service returns data but Connect-REST times out irrespective of setting a very high timeout value.


Error Messages



Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:944)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:901)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at com.pega.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
at com.pega.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
at com.pega.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
at com.pega.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
at com.pega.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
at com.pega.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
at com.pega.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
at com.pega.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
at com.pega.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)
at com.pega.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at com.pega.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645)
at com.pega.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
at com.pega.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:825)
at com.pega.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:759)


Steps to Reproduce

  1. Login to the application.
  2. Launch interaction portal. Click on new > Phone call.
  3. Search for customer type < dealer name > <dealer code>.
  4. Select the customer returned from the result and hit submit.
  5. Go to orders tab to display order list. This order list is populated using the response received by REST Connector but it times out irrespective of setting a very high timeout value on Connect-REST rule form.


Root Cause



A defect or configuration issue in the operating environment is identified as root cause.

The actual REST service end point URL is mapped to a reverse proxy URL.

The reverse proxy logs suggested that GET request is sent by Pega but the corresponding POST response is not received at the reverse proxy level.

Resolution



Contact the infrastructure support team to make the configuration changes as needed on application server, reverse proxy, firewall sides so that the POST respone sent by REST service is received by Pega.

Published May 12, 2017 - Updated May 25, 2017

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.