Use this information for troubleshooting problems that
occur when starting an application.
The following note applies to the
ibm-web-ext.xmi references
throughout this topic:
Supported configurations: 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.
sptcfg
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 plug-in.
In this case:
- Determine whether the HTTP server is attempting to serve the requested
resource itself, rather than forwarding it to the WebSphere Application
Server.
- 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 WebSphere Application Server, and to which
Application Server.
Use the console to refresh this file:
- In the WebSphere Application Server 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 you need to 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 WebSphere Application
Server 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 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 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 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.
Check the log files for a compiler error
message.
New feature: This topic
references one or more of the application server log files. Beginning
in WebSphere Application Server Version 8.0 you can configure the
server to use the High Performance Extensible Logging (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.
newfeat
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: 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 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.
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)
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 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.
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 WebSphere Application Server, which converted
characters automatically based upon the locale of the WebSphere Application
Server.
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
JavaServer Pages (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.
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.