I am a newbie at Tomcat and Java so please forgive me if I am about to ask some stupid question that everyone should no when working in this environment.
Our customer has asked me to upgrade their Tomcat installation from 3.2.4 to 4.1.18. This environment is on Windows 2000. I first installed Tomcat 4.1.18, from binary, and made my necessary changes in server.xml and web.xml for the new system to see the servlet directory and classes. The default home page comes up just fine but when I use the test page to hit the class I get the following error: Error executing remote method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.net.MalformedURLException: no protocol: Files/Apache/Tomcat This class uses RMI to call a listener to complete the process. I am using Sun's Java SDK 1.4.1. I have recompiled the classes with the libraries pointing to the $CATALINA_HOME\common\lib so it knows about the new activation.jar and servlet.jar. I also set the classpath in the runtime of the background listener program to use these same jar's (this application attaches to the RMI on the standard port) Here is my webapps web.xml file. I did not make any changes to this for the upgrade nor did I write it originally. <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <context-param> <param-name>ceRmiUrl</param-name> <param-value>rmi://localhost:1099/communicationengine.httpmodule.Receive r</param-value> <description>RMI URI that is used to post incoming messages to CE </description> </context-param> <servlet> <servlet-name> snoop </servlet-name> <servlet-class> SnoopServlet </servlet-class> <!-- <init-param> <param-name>foo</param-name> <param-value>bar</param-value> </init-param> --> </servlet> <servlet> <servlet-name> servletToJsp </servlet-name> <servlet-class> servletToJsp </servlet-class> </servlet> <servlet> <servlet-name>HTTP Servlet</servlet-name> <servlet-class>ServletHttpPostReceiver</servlet-class> <init-param> <param-name>ceRmiUrl</param-name> <param-value>rmi://localhost:1099/communicationengine.httpmodule.Receive r</param-value> </init-param> </servlet> <servlet> <servlet-name>HTTPS Servlet</servlet-name> <servlet-class>ServletHttpSSLPostReceiver</servlet-class> <init-param> <param-name>ceRmiUrl</param-name> <param-value>rmi://localhost:1099/communicationengine.httpmodule.Receive r</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name> snoop </servlet-name> <url-pattern> /snoop </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> snoop </servlet-name> <url-pattern> *.snp </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> servletToJsp </servlet-name> <url-pattern> /servletToJsp </url-pattern> </servlet-mapping> <taglib> <taglib-uri> http://java.apache.org/tomcat/examples-taglib </taglib-uri> <taglib-location> /WEB-INF/jsp/example-taglib.tld </taglib-location> </taglib> <security-constraint> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <!-- Define the context-relative URL(s) to be protected --> <url-pattern>/jsp/security/protected/*</url-pattern> <!-- If you list http methods, only those methods are protected --> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> I appreciate any help or insight someone can give me into getting this problem resolved. Thanks, Matt