ECCResponseTimeoutException while using MID Server for On-Prem Environment
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
6 hours ago
Hi everyone,
We are facing an issue while invoking a REST API through the MID Server in our on-premise environment. The error message is:
com.glide.ecc.ECCResponseTimeoutException: No response for ECC message request with sysid=97c4a2f487e8fa1068e0fcc5dabb3527 after waiting for 30 seconds in ECC Queue.
Details:
Integration Type: Outbound REST (via MID Server)
API Call Type: Synchronous
Behavior: The job runs successfully for a few minutes and then fails with the above error.
What we have tried:
- Increased the timeout value using setTimeout() in the script.
- Added/updated the following system properties:
- com.glide.rest.outbound.ecc_response.timeout = 360
- com.glide.http.outbound.max_timeout.enabled = false
Despite these changes, the error persists — the response still times out after around 30 seconds.
Looking for Guidance:
- Is there any additional configuration required on the MID Server or ECC Queue to extend this timeout for synchronous REST calls?
- Does the MID Server have any internal timeout limits that override the system property values?
Any insights or suggestions from the community would be greatly appreciated!
@Russ Hancock @Mike Allen @John Caruso

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
6 hours ago
Can you share the script you've written? As depending on your use of the RestMessage API, you may be overriding the synchronous behaviour and/or timeout behaviour
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
5 hours ago
Hi @Kieran Anson,
Thank you for the response!
Here are the insights from the script we’re using:
var r;
var response;
var responseBody;
var httpStatus;
r = new sn_ws.RESTMessageV2("x_custom_app.Integration_Data_Catalogs", "GetDataCatalogs");
r.setStringParameterNoEscape("root_url", rootURL);
r.setQueryParameter('filter', filter);
r.setQueryParameter('skip', skip);
r.setQueryParameter('limit', limit);
this.setHTTPHeaders(r); // set request headers
r.setHttpTimeout(30000); // 30 seconds timeout
response = r.execute();
responseBody = response.haveError() ? response.getErrorMessage() : JSON.parse(response.getBody());
httpStatus = response.getStatusCode();
if (httpStatus == 200) {
return {
success: true,
result: responseBody
};
} else {
this.logger.error("APIUtility:", "fetchCatalogs:", "Error Message: " + responseBody);
return this.errorObject(responseBody);
}
Please note that the REST API call is made through the MID Server.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
5 hours ago
Hi @Kieran Anson,
Thanks for the response!
Here are the insights from the script we’re using:
var r;
var response;
var responseBody;
var httpStatus;
r = new sn_ws.RESTMessageV2("x_custom_app.Integration_Data_Catalogs", "GetDataCatalogs");
r.setStringParameterNoEscape("root_url", rootURL);
r.setQueryParameter('filter', filter);
r.setQueryParameter('skip', skip);
r.setQueryParameter('limit', limit);
this.setHTTPHeaders(r); // set request headers
r.setHttpTimeout(30000); // 30 seconds timeout
response = r.execute();
responseBody = response.haveError() ? response.getErrorMessage() : JSON.parse(response.getBody());
httpStatus = response.getStatusCode();
if (httpStatus == 200) {
return {
success: true,
result: responseBody
};
} else {
this.logger.error("APIUtility:", "fetchCatalogs:", "Error Message: " + responseBody);
return this.errorObject(responseBody);
}
Please note that the REST API call is made through the MID Server.