Troubleshoot: Starting applications

What kind of errors 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

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 WebSphere Application Server - Express plug-in.

Perform the following steps to determine the problem:

  1. Determine whether the HTTP server is attempting to serve the requested resource itself, rather than forwarding it to WebSphere Application Server - Express.

    1. Browse the HTTP server access log for IBM HTTP Server. It may indicate that it could not find the file in the document root directory.
    2. Browse the plug-in log file as described below.
  2. Refresh the /QIBM/UserData/WebASE51/ASE/instance/config/cells/plugin-cfg.xml file. This file determines what requests sent to the HTTP server are forwarded to the WebSphere Application Server - Express and to what application server. To to refresh this file:
  3. Browse the /QIBM/UserData/WebASE51/ASE/instance/logs/http_plugin.log file for clues to the problem. Make sure the timestamps with the most recent plug-in information stanza (which is printed when the plug-in is loaded), correspond to the time the Web server started.
  4. Turn on plug-in tracing. To turn on plug-in tracing, set the LogLevel attribute in the /QIBM/UserData/WebASE51/ASE/instance/config/cells/plugin-cfg.xml file to Trace and reload the request. Browse the /QIBM/UserData/WebASE51/ASE/instance/logs/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 what rules the plug-in is not matching against and then figure out if you need to add additional ones. If you recently installed the application, you may need to manually regenerate the plug-in configuration to pick up the new URIs related to the new application.

File serving problems

If text output appears on your JSP- or servlet-supported Web page, but image files do not appear, perform the following steps:

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 appear, perform the following steps:

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. The SystemErr.log file is located at /QIBM/UserData/WebASE51/ASE/instance/logs/node_name/SystemErr.log. The compiler error message may be as follows:

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; 
      ^

Fix the problem in the JSP source file, save the source, and request the JSP file again.

If the error occurs when trying to serve a JSP file that was copied from another system where it had successfully run, then there is something different about the new server environment that prevents the execution of the JSP file. Browse the text of the error for a statement such as:

Undefined variable or class name: MyClass

This 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 copy it to the Web module WEB-INF/classes directory, or place the containing .jar file in the Web module WEB-INF/lib directory.

Verify that the URL used to access the resource is correct by completing the following steps:

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:

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 the administrative console, check the Reloading Enabled flag and the Reload Interval value in the IBM Extensions for the Web module in question. Turn Reloading on, or if it is already on, 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 JSPdirective (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 possible that the JSP processor is not configured to keep generated Java source.

In the administrative console, 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 possible that the full enterprise application path and name, starting with the .ear subdirectory that resides in the /QIBM/UserData/WebASE51/ASE/instance/config/cells/ cell_name/applications directory is expected as an argument to the JspBatchCompiler tool, not just the display name. For example:

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 the following line before any req.getParameter() calls:

 req.setCharacterEncoding("gb2312");

This problem affects servlets and .jsp files ported from earlier versions of WebSphere Application Server - Express, which converted characters automatically based upon the locale of the WebSphere Application Server - Express.

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 Java Server Page (JSP) 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:

  1. From the administrative console, expand System Administration --> DeploymentManager --> Administration Services --> Custom Properties.
  2. Select ConnectionIOTimeout.
  3. Increase the ConnectionIOTimeout value.
  4. Click OK.