Application startup errors
Use this information for troubleshooting problems that occur when starting an application.
What kind of error do you see when we start an application?
- HTTP server and Application Server are working separately, but requests are not passing from HTTP server to Application Server
- File serving problems
- Graphics do not appear in the JSP file or servlet output
- SRVE0026E: [Servlet Error]-[Unable to compile class for JSP file
- After modifying and saving a JSP file, the change does not show up in the browser
- Error message: /jspname.jsp(9,0) Include: Mandatory attribute page missing
- The Java source generated from a JSP file is not retained in the temp directory
- Error "Enterprise Application [application name you typed in] not found"
- Translation problem with non-English browser input
- Scroll bars do not appear around items in the browser window
- Error "Page cannot be displayed, server not found or DNS error"
- DeploymentDescriptorLoadException results when starting an application
The following note applies to the ibm-web-ext.xmi references throughout this topic:
For IBM extension and binding files, the .xmi or .xml file name extension is different depending on whether we are using a pre-Java EE 5 application or module or a Java EE 5 or later application or module. An IBM extension or binding file is named ibm-*-ext.xmi or ibm-*-bnd.xmi where * is the type of extension or binding file such as app, application, ejb-jar, or web. The following conditions apply:
- For an application or module that uses a Java EE version prior to version 5, the file extension must be .xmi.
- For an application or module that uses Java EE 5 or later, the file extension must be .xml. If .xmi files are included with the application or module, the product ignores the .xmi files.
However, a Java EE 5 or later module can exist within an application that includes pre-Java EE 5 files and uses the .xmi file name extension.
The ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, and ibm-portlet-ext.xmi files continue to use the .xmi file extensions.
HTTP server and Application Server are working separately, but requests are not passing from HTTP server to Application Server
If our HTTP server appears to be functioning correctly, and the Application Server also works on its own, but browser requests sent to the HTTP server for pages are not being served, a problem exists in the WebSphere Application Server plug-in.
In this case:
- Determine whether the HTTP server is attempting to serve the requested resource itself, rather than forwarding it to the WAS.
- Browse the HTTP server access log (IHS install root/logs/access.log for IBM HTTP Server). It might indicate that it could not find the file in its own document root directory.
- Browse the plug-in log file.
- Refresh the plugin-cfg.xml file that determines which requests sent to the HTTP server are forwarded to the WAS, and to which Application Server.
Use the console to refresh this file:
- In the WAS administrative console, expand the Environment tree control.
- Click Update WebSphere Plugin.
- Stop and restart the HTTP server.
(iSeries) If we are using IBM HTTP Server for iSeries or Lotus Domino for iSeries, we do not need to restart the HTTP server.
- Retry the web request.
(iSeries) If we have created a web server definition to model your web server instance, the file is located under profile_root/config/cells/cell/nodes/Web_server_node/servers/Web_server. If we have not, the file is located under profile_root/config/cells.
- Browse the plugin_install_root/logs/web_server/http_plugin.log file for clues to the problem. Make sure the timestamps with the most recent plug-in information stanza, which is printed out when the plug-in is loaded, correspond to the time the web server started.
- Turn on plug-in tracing by setting the LogLevel attribute in the plugin-cfg.xml file to Trace and reloading the request. Browse the plugin_install_root/logs/Web_server/http_plugin.log file. We should be able to see the plug-in attempting to match the request URI with the various URI definitions for the routes in the plugin-cfg.xml. Check which rules the plug-in is not matching against and then figure out if add additional ones. If we just recently installed the application we might need to manually regenerate the plug-in configuration to pick up the new URIs related to the new application.
For further details on troubleshooting plug-in-related problems, see Web server plug-in troubleshooting tips.
File serving problems
If text output appears on your JSP- or servlet-supported web page, but image files do not:
- Verify that the files are in the correct location: the document root directory of our web application WAS follows the J2EE standard, which means that the document root is the web_module_name.war directory of your deployed web application.
Typically this directory will be found in the install_root/installedApps/nodename/appname.ear directory or install_root/installedApps/nodename/appnameNetwork.ear directory.
(iSeries) Typically this directory will be found in the profile_root/installedApps/nodename/appname.ear directory or profile_root/installedApps/nodename/appnameNetwork.ear directory.
If the files are in a subdirectory of the document root, verify that the reference to the file reflects that. That is, if the invoices.html file is stored in Windows directory web_module_name.war\invoices, then links from other pages in the web application to display it should read "invoices\invoices.html", not "invoices.html".
- Verify that the web application is configured to enable file serving (in other words, that it is enabled to display static resources like image and .html files):
- View the file serving property of the hosting web module by browsing the source .war file in an assembly tool. If necessary, update the property and redeploy the module.
- Edit the fileServingEnabled property in the deployed web application ibm-web-ext.xmi configuration file.
The file typically is found in the install_root/config/cells/nodename or nodenameNetwork/applications/application_name/deployments/application name/Web_module_name/web-inf directory.
(iSeries) The file typically is found in the profile_root/config/cells/nodename or nodenameNetwork/applications/application_name/deployments/application name/Web_module_name/web-inf directory.
Graphics do not appear in the JSP file or servlet output
If text output appears on your JSP- or -servlet-supported web page, but image files do not:
- Verify that your graphic files are in the correct location: the document root directory of our web application. The product follows the J2EE standard, which means that the document root is the web_module_name.war directory of our deployed web application.
Typically, this directory is found in the install_root/installedApps/nodename/appname.ear directory or install_root/installedApps/nodename/appnameNetwork.ear directory.
(iSeries) Typically, this directory is found in the profile_root/installedApps/nodename/appname.ear directory or profile_root/installedApps/nodename/appnameNetwork.ear directory.
If the graphics files are in a subdirectory of the document root, verify that the reference to the graphic reflects that; for example, if the banner.gif file is stored in Windows directory web_module_name.war/images, the tag to display it should read: <img SRC="banner.gif">, not <img SRC="banner.gif">.
- Verify that the web application is configured to enable file serving (that is, display of static resources like image and .html files).
- View the file serving property of the hosting web module by browsing the source .war file in an assembly tool. If necessary, update the property and re-deploy the module.
- Edit the fileServingEnabled property in the deployed web application ibm-web-ext.xmi configuration file.
The file typically is found in the install_root/config/cells/nodename or nodenameNetwork/applications/application_name/deployments/application name/Web_module_name/web-inf directory.
(iSeries) The file typically is found in the profile_root/config/cells/nodename or nodenameNetwork/applications/application_name/deployments/application name/Web_module_name/web-inf directory.
- After completing the previous step:
- In the administrative console, expand the Environment tree control .
- Click Update WebSphere Plugin.
- Stop and restart the HTTP server and retry the web request.
SRVE0026E: [Servlet Error]-[Unable to compile class for JSP file
If this error appears in a browser when trying to access a new or modified .jsp file for the first time, the most likely cause is that the JSP file Java source failed (was incorrect) during the javac compilation phase.
(ZOS) Check the log files for a compiler error message.
Check the SystemErr.log file for a compiler error message, such as:
C:\WASROOT\temp\ ... test.war\_myJsp.java:14: \Duplicate variable declaration: int myInt was int myInt int myInt = 122; String myString = "number is 122"; static int myStaticInt=22; int myInt=121; ^IBM recommends using the High Performance Extensible Logging (HPEL) log and trace infrastructure . We view HPEL log and trace information using the logViewer .
Fix the problem in the JSP source file, save the source and request the JSP file again.
If this error occurs when trying to serve a JSP file that was copied from another system where it ran successfully, then there is something different about the new server environment that prevents the JSP file from running. Browse the text of the error for a statement like:
Undefined variable or class name: MyClassThis error indicates that a supporting class or jar file is not copied to the target server, or is not on the class path. Find the MyClass.class file, and place it on the web module WEB-INF/classes directory, or place its containing .jar file in the Web module WEB-INF/lib directory.Verify that the URL used to access the resource is correct by doing the following:
- For a JSP file, html file, or image file: http://host_name/Web_module_context_root/subdir under doc root, if any/filename.ext. The document root for a web application is the application_name.WAR directory of the installed application.
- For example, to access the myJsp.jsp file, located in c:\WebSphere\ApplicationServer\installedApps\myEntApp.ear\myWebApp.war\invoices on myhost.mydomain.com, and assuming the context root for the myWebApp web module is myApp, the URL is http://myhost.mydomain.com/myApp/invoices/myJsp.jsp.
- JSP serving is enabled by default. File serving for HTML and image files must be enabled as a property of the web module, in an assembly tool, or by setting the fileServingEnabled property to true in the ibm-web-ext.xmi file of the installed web application and restarting the application.
- For servlets served by class name, the URL is http://hostname/Web_module_context_root/servlet/packageName.className.
(Dist) For example, to access myCom.myServlet.class, located in c:\WebSphere\ApplicationServer\installedApps\ myEntApp.ear\myWebApp.war\WEB-INF\classes, and assuming the context root for the myWebApp module is "myApp", the URL would be http://myhost.mydomain.com/myApp/servlet/myCom.MyServlet.
(iSeries) For example, to access myCom.myServlet.class, located in profile_root/installedApps/myEntApp.ear/myWebApp.war/WEB-INF/classes, and assuming the context root for the myWebApp module is "myApp", the URL would be http://myhost.mydomain.com/myApp/servlet/myCom.MyServlet.
- Serving servlets by class name must be enabled as a property of the web module, and is enabled by default. File serving for HTML and image files must be enabled as a property of the web application, in an assembly tool, or by setting the fileServingEnabled property to true in the ibm-web-ext.xmi file of the installed web application and restarting the application.
Correct the URL in the "from" HTML file, servlet or JSP file. An HREF with no leading slash (/) inherits the calling resource context. For example:
- an HREF in http://[hostname]/myapp/servlet/MyServlet to ServletB resolves to "http://hostname/myapp/servlet/ServletB"
- an HREF in http://[hostname]/myapp/servlet/MyServlet to "servlet/ServletB" resolves to "http://hostname/myapp/servlet/servlet/ServletB" (an error)
- an HREF in http://[hostname]/myapp/servlet/MyServlet to "/ServletB" resolves to "http://hostname/ServletB" (an error, if ServletB requires the same context root as MyServlet)
After modifying and saving a JSP file, the change does not show up in the browser
It is probable that the web application is not configured for servlet reloading, or the reload interval is too high.
To correct this problem, in an assembly tool, check the Reloading Enabled flag and the Reload Interval value in the IBM Extensions for the web module in question. Enable reloading, or if it is already enabled, then set the Reload Interval lower.
Error message: /jspname.jsp(9,0) Include: Mandatory attribute page missing
The error "Message: /jspname.jsp(9,0) Include: Mandatory attribute page missing" appears when attempting to browse JSP file
It is probable that the JSP file failed during the translation to Java phase. Specifically, a JSP directive, in this case an Include statement, was incorrect or referred to a file that could not be found.
To correct this problem, fix the problem in the JSP source, save the source and request the JSP file again.
The Java source generated from a JSP file is not retained in the temp directory
It is probable that the JSP processor is not configured to keep generated Java source.
In an assembly tool, check the JSP Attributes under Assembly Property Extensions for the web module in question. Make sure the keepgenerated attribute is there and is set to true. If not, set this attribute and restart the web application. To see the results of this operation, delete the class file from the temp directory to force the JSP processor to translate the JSP source into Java source again.
Error "Enterprise Application [application name you typed in] not found"
The JSP Batch Compiler fails with the message "Enterprise Application [application name you typed in] not found"
It is probable that the full enterprise application path and name, starting with the .ear subdirectory that resides in the applications directory is expected as an argument to the JspBatchCompiler tool, not just the display name.
The directory path is install_root\config\cells\nodeNetwork\applications.
(iSeries) The directory path is profile_root/config/cells/nodeNetwork/applications.
For example:
- "JspBatchCompiler -enterpriseapp.name sampleApp.ear/deployments/sampleApp" is correct, as opposed to
- "JspBatchCompiler -enterpriseapp.name sampleApp", which is incorrect.
Translation problem with non-English browser input
If non-English-character-set browser input cannot be translated after being read by a servlet or JSP file, ensure that the request parameters are encoded according to the expected character set before reading. For example, if the site is Chinese, the target .jsp file should have a line:
req.setCharacterEncoding("gb2312");before any req.getParameter method calls.This problem affects servlets and jsp files ported from earlier versions of WAS, which converted characters automatically based upon the locale of the WAS.
Scroll bars do not appear around items in the browser window
In some browsers, tree or list type items that extend beyond their allotted windows do not have scroll bars to permit viewing of the entire list.
To correct this problem, right-click on the browser window and click Reload from the menu.
Error "Page cannot be displayed, server not found or DNS error"
Error "Page cannot be displayed, server not found or DNS error" appears when attempting to browse a JSP file using Internet Explorer
This error can occur when an HTTP timeout causes the servant to be brought down and restarted. To correct this problem, increase the ConnectionIOTimeOut value:
- From the administrative console, select System administration Deployment manager Administration Services Custom Properties
- Select ConnectionIOTimeOut.
- Increase the ConnectionIOTimeOut value.
- Click OK.
(ZOS) DeploymentDescriptorLoadException results when starting an application
If an application server on which the application is deployed synchronizes configuration with the deployment manager during server startup, then the application might not start and a DeploymentDescriptorLoadException might be written to the server SystemErr.log file. Stop and restart the server, and then try starting the application again.
Related:
Troubleshoot and support View JVM logs Deploy and administering enterprise applications Use High Performance Extensible Logging to troubleshoot applications Web resource is not displayed File synchronization service settings