Issue
After an upgrade to a version that is listed in the "Fixed In" in this knowledge article:
Synchronous outbound Web Service calls are timing out after 30 seconds.
An error like the following will be seen, in this case the synchronous web service call is made using the ECC queue and a mid server:
com.glide.ecc.ECCResponseTimeoutException: No response for ECC message request with sysid=5ba7846113d57700e1d6b7a66144b0f2 after waiting for 30 seconds in ECC Queue
Release
Applies to any release where PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues) is listed as fixed in knowledge article:
Cause
The issue is caused by the fix provided by PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues).
Two new system properties are introduced in the code by this fix:
glide.http.outbound.max_timeout
glide.http.outbound.max_timeout.enabled
For detailed descriptions of these properties see:
With the fix for PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues) in place synchronous outbound web service calls are time limited to 30 seconds. If the 30 second limit is exceeded the call will be marked as as a timeout.
If those system properties do not exist on your instance already they can be created by following Add a system property
Resolution
(1) For a short term fix the system property here can be set to false (If this system property does not exist on your instance already it can be created by following Add a system property):
Name = glide.http.outbound.max_timeout.enabled
Type = true|false
Value = false
This will remove the 30 second time limit placed on the synchronous outbound calls. This returns the functionality back to the way it was before the fix for PRB1305586 was applied.
Also add a waitForResponse() Method to set the timeout. For example to wait for 120 seconds use:
response = sm.execute();
response.waitForResponse(120);
(2) The long term and most correct fix is to be sure glide.http.outbound.max_timeout.enabled is set to true and then configure the outbound web service calls following the best practices in this knowledge article:
Best practices for RESTMessageV2 and SOAPMessageV2
Which will keep the fix for PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues) in place.