I work for a company called Life and Energy Systems.  We have
written an XML-based document rendering control system that
employs a single servlet to render pages for our project called
Divinity.  The control system is called LeXml.  You can view a
site or two running it live at:

http://www.gogourmetfoods.com/
http://www.tacsoftware.com/

Anyway... we just tried to make a long-awaited upgrade from
Tomcat 3.0 to Tomcat 3.2.1.  After several hours I've been
totally unable to get Tomcat 3.2.1 to work as 3.0 did.

Basically our set is as follows:

We add a new servlet and servlet mapping to web.xml like
this:

    <servlet>
        <servlet-name>
                XMLServlet
        </servlet-name>
        <servlet-class>
                le.lexml.XMLServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>
                XMLServlet
        </servlet-name>
        <url-pattern>
                *.lexml
        </url-pattern>
    </servlet-mapping>

We then tell mod_jserv in httpd.conf to send anything .lexml to
Tomcat.

We tried the same thing in 3.2.1 trying both mod_jserv and
mod_jk.  Tomcat always returned a 404 error.  We tried
manually setting the path to the "/" context and it would just
print the raw contents of the .lexml file.  We were totally unable
to get it to invoke le.lexml.XMLServlet for *.lexml files.

Besides.. if we had to configure a virtual host in Tomcat for
all our virtual domains this would be a nightmare anyway.

The servlet renders the page by getting the request and then
looking up 'host' and request.getRequestURI() and then from
that getting the filename on the system, opening it, running
it through JAXP, etc.

As near as I can tell it's not even calling the servlet since the
servlet prints it's own message if it can't find the file.  We
just get a 404 with no message and Tomcat prints something
to stdout with 'Ctx... blah blah... ( + /test.lexml ) ...blah blah...
404... blah...'.  I looked at the source and found this in
Context.java but didn't find much else helpful.

It should be invoking XMLServlet for anything *.lexml.

So we're back to Tomcat 3.0 which works fine.

Any suggestions?

Thanks.
Adam Ierymenko
Life and Energy Systems
[EMAIL PROTECTED]


Reply via email to