Troubleshooting
In the event of problems running Expresso or any applications developed with Expresso, there are several courses of action that can help determine the cause of the problem. We suggest that you verify the following items, in the order that they appear:
The next thing to check is that the properties file, which gives Expresso initial information and database connection information, is correct and being read correctly.
If Expresso is reading it's setup information but is still not operating properly, it could be unable to connect to your database correctly. Here are steps you can take to ensure your database is connecting properly.
Errors can also be caused by Setup Values being incorrect. Setup Values are similar to property file values, but are specific to a particular application and database, and are stored in the database itself. The exact meaning of each setup value is dependant upon the application being configured - you should check the documentation for the application and ensure that each setup value is set properly.
It is important to verify that the HTML/JSP pages for Expresso are correctly installed in an appropriate location. By default (e.g. unless you edit them) the pages are intended to be installed in a directory called "/components" within the web root directory of your web server/servlet engine. They should be served by the same engine on the same port: e.g. if you access the status servlet with http://yourserver:8080/servlet/Status, then the web page for Expresso's installation should be accessed by http://yourserver:8080/components/expresso/installation.html.
Verify that JSP pages are operational on your system via the Login jsp page, accessible at http://yourserver:yourportnumber/expresso/jsp/login.jsp. If this page does not work correctly, make sure that JSP page processing is enabled on your servlet engine, and that JSP 1.0 support or higher is turned on (e.g. not JSP 0.9 spec, which is an option on some servlet servers).
Once you have verified all of Expresso's functionality, you must verify that any additional steps to get your application operational have been followed. These may include:
In the event of an error message from a servlet, the message is either an Expresso formatted message (a red heading reading "Servlet Error" and a table containing details) or it is from the underlying servlet server. Any other kind of error indicates an application specific problem or a configuration error with the servlet engine itself.
Expresso Servlet errors take a consistent form: The error box always reports three things:
Indicates the object name and method name of the object that initiated the error. This helps track down what actually created the error message.
If the particular error that occurred has a message number associated with it, then detailed information about the error can be referenced by clicking the link on the message number. If there is no message number, this link is not present.
The actual text of the message generated. This will include the error message generated by the database engine if this is an error relating to a database problem.
There is more information contained on an error page of this sort, for developers and system administrators: View the HTML source of the page with the error - if it is available, a full Java stack trace will appear embedded within a comment near the end of the HTML file. If this trace does not have line numbers, disable (temporarily) any JIT (Just-in-time compiler) that your Java Virtual Machine might be using in order to see line numbers. This information should be able to take you directly to the line of code reporting the error.
Error message that are not in the above format are likely generated by the servlet engine itself. They might indicate a problem with the configuration of the servlet server, or a problem with the properties files for the Expresso servlets.
A message of the form "Cannot load servlet: xxx" usually indicates that the line referring to this servlet is not present or is not indicating a valid path to the servlet .class file. See the installation instructions for more details.
When an error occurs, detailed information is also logged to the Expresso Log object. The Log object writes to several sources, depending on what is available to it:
When looking for log info, check each of these locations & any System.err log provided by the servlet engine.
It is often helpful to increase the detail level of the log temporarily while trying to resolve a problem.
Try setting a property in the config file called "trace" to "y". This will trace all DBConnectionPool and DBConnection operations to the standard error output at the server - this can be very helpful if you are getting results you don't expect & want to see exactly what SQL is being executed on the database.
If you've tried all of the above & still don't find an answer to a
problem, you might check the forums onsite and the archives at opensource@javacorporate.com.
I encourage you to post your question on the Expresso users forum, a service
provided freely to registered users. To access the discussion forums use
the Forums Link on left side of the Expresso project page. By using the
community process your question is freely answered and also benefits other
community members who may have the same question.
Copyright � 2001 Jcorporate Ltd. All rights reserved. Copyright Privacy
Last Modified: 19-Oct-01 2:09:17 PM