I have not worked with TC4 but I think your problem is that the mappings for the servlets should be in the web.xml for the app and not in the general web.xml. Also when you do the mappings in the app web.xml you do not need fully qualified paths.

Doug

----- Original Message ----- From: "Flaffer" <[EMAIL PROTECTED]>
To: <tomcat-user@jakarta.apache.org>
Sent: Thursday, January 27, 2005 12:37 PM
Subject: Invoker workaround on AIX



I am migrating around 10 apps from Tomcat 4.0.6 (Sun JDK 1.3.1) to
Tomcat 4.0.6 on AIX 5.2 using IBMs JDK 1.3.1sr7).

I am having an issue working around the invoker servlet. I have the
workaround(where you explicitely map the /servlet context ) working on
Solaris. But when I bring the config over to AIX, the URI  "/servlet"
cannot be mapped to a context.

Here are the two configs. The first one does not work. It throws this
error in the engine log:

2005-01-27 10:20:39 StandardHost[pdw0stl5]: Mapping request URI
'/servlet/com.bo.hsal.servlet'
2005-01-27 10:20:39 StandardHost[pdw0stl5]:   Trying the longest
context path prefix
2005-01-27 10:20:39 StandardHost[pdw0stl5]:   Trying the default context
2005-01-27 10:20:39 StandardHost[pdw0stl5]: MAPPING configuration
error for request URI

The access log shows a 500 error thrown on the request. Here is the
pertinent part of the web.xml for the application server instance
(i.e., conf/web.xml):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE web-app (View Source for full doctype...)>
<web-app>
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

- <!-- Mapping to replace Invoker servlet. NOTE: USED ONLY BY BO APPS.
-->
<!-- LEAVE COMMENTED OUT FOR OTHER APPS. This addresses a securty concern.
-->
<!-- See http://marc.theaimsgroup.com/?l=tomcat-user&m=103945394724196&w=2
-->


<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>com.bo.hsal.HSALServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

<!--  ================ Built In Servlet Mappings =========================
-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<!--  Uncomment for BO Apps Only. See Invoker replacement above.
-->

<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

The config that works is the default one which loads the invoker
servlet and maps it.

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd";>

<web-app>

<servlet>
  <servlet-name>default</servlet-name>

<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
  <init-param>
    <param-name>debug</param-name>
    <param-value>0</param-value>
  </init-param>
  <init-param>
    <param-name>listings</param-name>
    <param-value>false</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
  <servlet-name>invoker</servlet-name>

<servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
  <init-param>
    <param-name>debug</param-name>
    <param-value>0</param-value>
  </init-param>
  <load-on-startup>2</load-on-startup>
</servlet>

<servlet>
  <servlet-name>jsp</servlet-name>
  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
  <init-param>
    <param-name>logVerbosityLevel</param-name>
    <param-value>WARNING</param-value>
  </init-param>
  <load-on-startup>3</load-on-startup>
</servlet>

<!-- ================ Built In Servlet Mappings ========================= -->

<servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- The mapping for the invoker servlet -->

<servlet-mapping>
  <servlet-name>invoker</servlet-name>
  <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

Any ideas?

--
Ben Ricker
He's just this guy, you know?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to