Support Article
CONNECT-SOAP response time exceeds 300 seconds
SA-42447
Summary
CONNECT-SOAP exceeds 300 seconds even though response timeout is 20 seconds.
ResourceUnavailableException is thrown instead of SocketTimeoutException.
Error Messages
Exception ResourceUnavailableException is thrown
Steps to Reproduce
This issue is not reproducible at will.
Invoke the SOAP connector through a workflow.
If the endpoint has some intermittent connectivity issue then the SOAP connector level timeout is not taking effect.
The connector waits for a response and ignores the rule level timeout.
Root Cause
A defect or configuration issue in the operating environment.
The issue is not reproducible at will so actual root cause is not known.
Resolution
As a preventative and probable solution, update the invokeaxis2 activity and add the following codes:
Step 7:
Search the line “options.setTimeOutInMilliSeconds(timeout)” and comment out and add the following lines:
//options.setTimeOutInMilliSeconds(timeout);
//directly set the timeout properties
options.setProperty(com.pega.apache.axis2.transport.http.HTTPConstants.SO_TIMEOUT, new Integer(timeout));
options.setProperty(com.pega.apache.axis2.transport.http.HTTPConstants.CONNECTION_TIMEOUT, new Integer(timeout));
In step 11:
Adding the following 3 lines:
int timeout = myStepPage.getProperty("pySOAPTimeout").toInteger();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(timeout);
httpClient.getParams().setSoTimeout(timeout);
After the line:
“options.setProperty(com.pega.apache.axis2.transport.http.HTTPConstants.REUSE_HTTP_CLIENT, "true");”
Published November 8, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.