Network Deployment (Distributed operating systems), v8.0 > Reference > Administrator best practices
Application startup errors
Use this information for troubleshooting problems that occur when starting an application.
What kind of error do you see when you 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 (the old JSP file displays)
- Message like "Message: /jspname.jsp(9,0) Include: Mandatory attribute page missing" appears when attempting to browse JSP file
- The Java source generated from a JSP file is not retained in the temp directory (only the class file is found)
- The JSP Batch Compiler fails with the message "Enterprise Application [application name you typed in] not found."
- There is a 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" appears when attempting to browse a JSP file using Internet Explorer
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 you 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 your 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 WAS 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 as described below.
- 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.
- Retry the web request.
- Browse the plugin_install_root/logs/web_server_name
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_name
http_plugin.log file. You 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 you just recently installed the application you 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 your files are in the right place: the document root directory of your 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.
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 your 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 nodename Network/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 right place: the document root directory of your web application. The product 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 is found in the install_root/installedApps/nodename/appname.ear directory or install_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="images/banner.gif">, not <img SRC="banner.gif">.
- Verify that your 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.
- After completing the previous step:
- In the admin 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.
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; ^New feature: Beginning in WAS v8.0 you can configure the server to use the HPEL log and trace infrastructure instead of using SystemOut.log , SystemErr.log, trace.log, and activity.log files or native z/OS logging facilities. If you are using HPEL, you can access all of your log and trace information using the LogViewer command-line tool from your server profile bin directory. See the information about using HPEL to troubleshoot applications for more information on using HPEL.New feature:
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.
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.
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 (the old JSP file displays)
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.
Message like "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 (only the class file is found)
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.
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\node_nameNetwork\applications.
For example:
- "JspBatchCompiler -enterpriseapp.name sampleApp.ear/deployments/sampleApp" is correct, as opposed to
- "JspBatchCompiler -enterpriseapp.name sampleApp", which is incorrect.
There is a 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" 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 admin console, select System administration > Deployment manager > Administration Services > Custom Properties
- Select ConnectionIOTimeOut.
- Increase the ConnectionIOTimeOut value.
- Click OK.
Troubleshoot and support
View JVM logs
Deploy and administering enterprise applications
Use HPEL to troubleshoot applications
Related
Web resource is not displayed
File synchronization service settings