As configured below, try http://d1uap:4901/UMI/UMI/servlet/HUControlServlet

The servlet  mapping in WEB-INF/web.xml should not include the context
path of the webapp.

--David



Lataxes, Karl wrote:
> I am attempting to migrate a servlet from Tomcat 5.0.25 to 6.0.18, but
> my efforts to access it while running under 6.0.18 have been
> unsuccessful.  The servlet is accessed on the server via HTTP, but has
> web interfaces for simple testing and to check servlet loading and
> client-server message traffic.
>
> The context.xml and web.xml files as described are similar to what we
> have running under Tomcat 5.0.25.  Aside from the connector and shutdown
> ports, the server.xml file is the same one that was bundled with 6.0.18.
> We can access the servlet while running under 5.0.25, but not 6.0.18.
> It is probably a simple configuration file or security setting that I
> have not been able to locate.
>
> The servlet is initialized by a context file placed in
> {$CATALINA_HOME}/conf/Catalina/localhost.  Tailing the catalina.out
> file, I have confirmed that the servlet context is being loadet at
> Tomcat startup.  The context path is set to my home area for testing,
> but is similar to what we use for production deployment, i.e., it is not
> deployed from {$CATALINA_HOME}/webapps.  Here are the contents of my
> context file:
>
> <Context path="/UMI" docBase="/amd/homes/lataxeks/umi/ap/DataColl"
>       reloadable="true">
>       <Resources
> className="org.apache.naming.resources.FileDirContext"
>               allowLinking="true" />
>       <Logger className="org.apache.catalina.logger.FileLogger"
>               prefix="UMIAPDC_log." suffix=".txt"
>               directory="/amd/homes/lataxeks/umi/logs"
>               timestamp="true"/>
>       <Realm className="org.apache.catalina.realm.MemoryRealm" />
> </Context>
>
>
> The following are the contents of the web.xml file:
>
> <?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>
>       <!-- HUControlServlet configuration defs -->
>       <servlet>
>               <servlet-name>
>                       HUControlServlet
>               </servlet-name>
>               <servlet-class>
>       
> com.nielsenmedia.umi.ap.datacollection.servlet.HUControlServlet
>                       </servlet-class>
>               <load-on-startup>1</load-on-startup>
>       </servlet>
>       <servlet-mapping>
>               <servlet-name>HUControlServlet</servlet-name>
>               <url-pattern>/UMI/servlet/HUControlServlet</url-pattern>
>       </servlet-mapping>
>       <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>
>                       <!-- Anyone with one of the listed roles may
> access this area -->
>                       <role-name>tomcat</role-name>
>                       <role-name>role1</role-name>
>               </auth-constraint>
>       </security-constraint>
> </web-app>
>
>
> Here is the stack trace I received when running my server based
> application to access the servlet:
>
> java.io.FileNotFoundException:
> http://d1uap:4901/UMI/servlet/HUControlServlet/
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>       at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
> ccessorImpl.java:39)
>       at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
> tructorAccessorImpl.java:27)
>       at
> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>       at
> sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java
> :1240)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at
> sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLC
> onnection.java:1234)
>       at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec
> tion.java:921)
>       at
> com.nielsenmedia.umi.ap.datacollection.test.homeunitsimulator.messages.H
> UStatus.sendStatus(HUStatus.java:104)
>       at
> com.nielsenmedia.umi.ap.datacollection.test.homeunitsimulator.messages.H
> UInitConn.sendStatus(HUInitConn.java:95)
>       at
> com.nielsenmedia.umi.ap.datacollection.test.homeunitsimulator.drivers.HU
> Session.Process(HUSession.java:431)
>       at
> com.nielsenmedia.umi.ap.datacollection.test.homeunitsimulator.drivers.HU
> Sim.main(HUSim.java:311)
> Caused by: java.io.FileNotFoundException:
> http://d1uap:4901/UMI/servlet/HUControlServlet/
>       at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec
> tion.java:1183)
>       at
> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367)
>       at
> com.nielsenmedia.umi.ap.datacollection.test.homeunitsimulator.messages.H
> UStatus.sendStatus(HUStatus.java:101)
>       ... 3 more
>
>
> Here is the localhost_access_log entry from the test that generated the
> stack trace (servlet running on Tomcat 6.0.18).  As you can see, it is
> generating an HTTP 404 error code:
>
> 10.38.164.58 - - [03/Sep/2009:13:53:42 -0400] "POST
> /UMI/servlet/HUControlServlet/ HTTP/1.1" 404 1042
>
>
> Can anyone please help?  Thanks
>
> Karl Lataxes
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to