The following is a list of error messages that my be returned by theLPS or LBES. Each error message will be followed by a shortexplanation.
Bad Database URL
(404)/LBES/services_Engineering/LASDatabaseBackend
Explanation fom Wikipedia:
The 404 or Not Found error message is an HTTP standard response codeindicating that the client was able to communicate with the server, butthe server either could not find the file that was requested, or wasunwilling to fulfill the request for it and did not wish to reveal thereason why.
In this case, the productserver.xml file had incorrect information for the "url attribute of the "database" service.
Missing Velocity Template
org.apache.velocity.exception.ResourceNotFoundException:
Unable to find resource 'HybridZ_XY.vm'
The servlet is unable to find a Velocity template named 'HybridZ_XY.vm'. Velocity templates are used as the argument to 'script' and 'template' attributes of the '<operation>' tag in the operationsV7.xml file. All templates identified in this file should be located in one of three places:
- $(CATALINA_HOME)/webapps/$(LPS_NAME)/productserver/templates/
for templates identified by the 'script' attribute - $(CATALINA_HOME)/webapps/$(LBES_NAME)/WEB-INF/classes/resources/ferret/templates/
for templates identified by the 'template' attribute of an operation associated with Ferret - $(CATALINA_HOME)/webapps/$(LBES_NAME)/WEB-INF/classes/resources/database/templates/
for templates identified by the 'template' attribute of an operation associated with database access
'webuser' lacks write permission in armstrong installation directory
java.lang.Exception: Cannot initialize the velocity engine.
The user that Tomcat runs as, e.g. 'webuser', does not have permission to create velocity.log file in the armstrong installation directoy.
One solution is to always install Armstrong as 'webuser'. Alternatively, you must open up permissions in the installation directory so that 'webuser' can create the necessary files there.
Ferret script parsing error
org.xml.sax.SAXParseException: Premature end of file.
This error will occasionally be returned when the Ferret parser cannot parse a Ferret script. This can occur, for example, when a script tries to define a Ferret symbol that is longer than the (256?) character maximum. When this symbol is evaluated is will be missing any final closing braces, etc.
Missing Ferret script
Error creating the product request.
...
java.lang.NullPointerException
This error occurs when the Ferret script identified in the <operation> tag is not found.
Check if this is true and elaborate.
Database time format problem
java.lang.Exception: Could not create intermediate netCDF file stub with result set:
java.lang.IllegalArgumentException: Invalid format: "1989-02-14 00:00:00.0" is malfor
med at ".0"
java.lang.Exception: Could not create intermediate netCDF file stub with result set:
java.lang.IllegalArgumentException: Invalid format: "220550.2812"
Explanation
Missing operation
java.lang.Exception: No operation /lasdata/operations/operation[@ID='Plot_2D_XY'] found.
An operation referenced in armstrong/conf/server/ui.xml is not found in armstrong/conf/server/operationsV7.xml. Check to make sure that the referenced operation is defined.
Note that, when used with the Armstrong UI, operation ID's must begin with a capital letter.
Missing data
java.lang.Exception: Variable: /lasdata/datasets/dataset[@ID='Indian_Data']/variables/variable[@ID='Temperature'] not found.
Explanation
Database time does not use daylight savings.
java.lang.Exception: Could not create intermediate netCDF file stub with result set:
java.lang.IllegalArgumentException: Illegal instant due to time zone offset transition.
Explanation
The product server is expecting daylight savings date-times, and found a time that should not exist.
Misconfigured database in DatabaseBackendConfig.xml
java.sql.SQLException
MESSAGE: Unknown database 'DATABASE_NAME'
The database BackEndService was unable to connect to the database specified in DatabaseBackendConfig.xml and referenced in the dataset configuration file. Please see Configuring the LAS database service for more information.
XML typo in configuration file
HTTP Status 404 - Servlet action is not available
When you get unexplained servlet errors you should at the tomcat log file to see if anything looks likely. The quickest way to get to the answer is to grep the tomcat log file, $(TOMCAT_HOME)/logs/catalina.out, for 'ERROR' or 'Exception' and look at the last few lines as in the following example:
your_prompt> grep ERROR catalina.out | tail -5
2007-01-23 11:39:12,462 ERROR [Catalina].[localhost].[/las_OCDMS] - action: null
2007-01-23 11:39:12,464 ERROR [Catalina].[localhost].[/las_OCDMS] - Servlet /las_OCDMS threw load
() exception
2007-01-23 11:41:14,419 ERROR product.server.ProductServerAction - Could not parse the v7 operati
ons file /var/www/html/armstrong_OCDMS/armstrong/conf/server/operationsV7.xml
2007-01-23 11:41:14,425 ERROR [Catalina].[localhost].[/las_OCDMS] - action: null
2007-01-23 11:41:14,427 ERROR [Catalina].[localhost].[/las_OCDMS] - Servlet /las_OCDMS threw load
() exception
From this we learn that the problem lies with the operationsV7.xml file.
your_prompt> grep Exception catalina.out | tail -10
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
java.lang.IllegalStateException: Root element not set
javax.servlet.UnavailableException
org.jdom.input.JDOMParseException: Error on line 311 of document file:/var/www/html/armstrong_OCD
MS/armstrong/conf/server/operationsV7.xml: The end-tag for element type "operation" must end with
a '>' delimiter.
Caused by: org.xml.sax.SAXParseException: The end-tag for element type "operation" must end with
a '>' delimiter.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
org.xml.sax.SAXParseException: The end-tag for element type "operation" must end with a '>' delim
iter.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
java.lang.IllegalStateException: Root element not set
javax.servlet.UnavailableException
Now we know exactly where to go to fix the typo.
Missing database service configuration
Could not get database driver: gov.noaa.pmel.tmap.las.exception.LASException: No database definition found for database DATABASE_NAME in database config.
Please see Configuring the LAS database service for more information.
ddd
javax.servlet.ServletException: The Content already has an existing parent "operations"
Explanation


