The server does not respond / a service request fails
TroubleshootingSummary
Description
No response from the server
When neither a result nor an error message appear after calling the server, the server is not responding. The reasons may be:- The server is not running
- The server is stuck in a loop
- The server is still processing the request (Note that processing a large graph can take quite a while. Also note that the first call after deployment is considerably slower a subsequent calls, see also the article Server is slow after (re)deployment of a servlet)
Service Request Failed [...] Error #2032 / Error #2038
When a server request results in an error, an Alert showing the error message pops up. Unfortunately, usually the message tells us that something went wrong but not what. The following article shows what to do in order to locate the error.
1. Is the URL correct?
The error message usually displays the URL which was contacted. The first step in troubleshooting is to verify if it is the correct URL:- Check for misspellings, like confusing O and 0 or I, l, 1, etc.
- Check for missing port numbers
- Check for missing/wrong extensions. Especially .NET server expect the extension
.ashx
- Compare the service name with the definition in the server configuration (usually
WEB_INF/web.xml
for apache tomcat,Web.Config
for .NET)
- Adressing the server when the config is not loaded: make sure that the server is not called before the config is read (i.e. after Event.COMPLETE is fired).
- Missing or double
/
(slash) between context root and service name: the/
is not automatically inserted between context root and service name. Either put a/
at the end of the context root or at the beginning of (each) service name - Missing / incorrect extension: set the default extension as described here or add the extension to (each) service name. Note that the
.
(dot) is not automatically inserted, so it has to be added to the default service extension.
2. Is the servlet / handler available at the given URL?
If the URL seems to be correct, you can verify the availability of the servlet / handler by simply entering the URL (copying it from the error message avoids typing errors) into your browser's URL field. If a HTTP error 404 occurs, the servlet / handler is not found.
In that case, you will have to verify in the server configuration files if the servlet / handler mappings are correct. Compare the mappings with mappings of successfully called servlet / handlers. Don't forget to restart the server after making changes.
If your server runs in a developing environment you also have the possibility to set break points at the entry methods of your servlet (doPost()
/ doGet()
) or handler (ProcessRequest()
) and verify that it is called upon a request from the client.