When calling some ICF services (e.g. Web Dynpro applications), an HTTP 500 error may occur. This indicates an error on the server side (in the ABAP backend). Under certain circumstances, the browser only shows the error "500 Internal Server Error", and is unclear what error has occured on server side.
In this case, the ICF error log files (dev_icf*) may contain additional information about the error.
This can be checked as follows:
1. Log on to the ABAP backend where the service was called
2. In transaction SM51, move to the instance on which the error occured - the instance (host) name should be clear from the browser URL
3. Reproduce the HTTP 500 error in the browser
4. In the ABAP backend, call the transaction ST11 immediately
5. Open the dev_icf* file which was changed last - this should be the one at the top of the page
6. Scroll down to the bottom of the log file
7. The error message is visible after the lastest <ErrorMessage> tag. For example:
<ErrorMessage>ICF service node "/sap/bc/webdynpro/sap/z_wd_abcd" is not active
See also the KBA 2634640 WDA: How to identify the runtime error in SAP UI 750 and above?