Hi Volker,

Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:
> Hello,
> 
> my current system configuration is like following:
> 
> - FreeBSD 8.2
> - apache-2.2.17_2
> - mod_jk-ap2-1.2.31_1 Apache2 JK
> - tomcat 4.1.36_2
As you said elsewhere in this thread, that you are willing to upgrade to
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.
> - diablo-jdk1.6.0
> 
> In order to provide a http tunneling for a chat server I have been 
> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and 
> diablo-jre1.5.0 in combination with a certain http tunneling servlet 
> *without any problems* for several years.
> That http tunneling servlet is passed via a chat applet via "<PARAM 
> NAME='HttpServlet' 
> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
> The configuration for that system above _*can be found below*_ *=> 
> Configuration for tomcat 3.3
That looks like you are using the strongly discouraged dispatcher
servlet. That is still available, but disabled by default. And you
should leave it that way.
> 
...
> 
> Thanks a lot and best regards
> 
> Volker
> *
> ============================================================================
> NOT WORKING
> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17, 
> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
> **============================================================================
> 
> The servlet classes result in:
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
I read that as: There are some files and directories under
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too.
> ...
> *
> httpd.conf
> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
> JkShmFile /var/log/jk-runtime-status
> JkLogLevel info
Looks OK.
> *
> workers.properties
> *workers.java_home=/usr/local/diablo-jdk1.6.0
> workers.tomcat_home=/usr/local/apache-tomcat4.1
Remove both deprecated config options java_home and tomcat_home. They
are not needed anymore.
> worker.list=jsp-hostname
> worker.jsp-hostname.port=8009
> worker.jsp-hostname.host=127.0.0.1
> worker.jsp-hostname.type=ajp13
> worker.jsp-hostname.lbfactor=1*
> 
> **server.xml*
Copy the server.xml from a fresh tomcat download and replace your
port-numbers in there.

> <Service name="Tomcat-Standalone">
...

> <!-- Tomcat Root Context -->
> 
> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true" 
> crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger" 
> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
> </Context>
> 
> <!-- Tomcat Examples Context -->
> <Context path="/examples" docBase="examples" debug="1" reloadable="true" 
> crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger" 
> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
> <Ejb   name="ejb/EmplRecord" type="Entity"
>                   home="com.wombat.empl.EmployeeRecordHome"
>                 remote="com.wombat.empl.EmployeeRecord"/>
Your context descriptions for ROOT and example would be placed in newly
created files named ROOT.xml and example.xml under
$CATALINA_BASE/conf/Catalina/localhost. But I seriously doubt, that you
need example.xml and ROOT.xml is not needed, if all you want to achieve
is logging. Look at http://tomcat.apache.org/tomcat-7.0-doc/logging.html
for more info about simple logging.
> 
> 
> *web.xml*
> <?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";>
You could update your webapp to a newer version by replacing the above
values, but they should do no harm.
> <web-app>
> <servlet>
> <servlet-name>
>       HttpTunnelingServletdc
> </servlet-name>
> <servlet-class>
> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
> </servlet-class>
> <init-param>
> <param-name>Host</param-name>
> <param-value>localhost</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>invoker</servlet-name>
> <url-pattern>/servlet/*</url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>HttpTunnelingServletdc</servlet-name>
> <url-pattern>/HttpTunnelingServletdc</url-pattern>
> </servlet-mapping>
Instead of mapping a not configured servlet named invoker to /servlet/*
you should map your servlet named HttpTunnelingServletdc
to /servlet/HttpTunnelingServletdc or alternatively change your applet
configuration from top of your post.

So remove
<servlet-mapping><servlet-name>invoker</servlet-name>...</servlet-mapping>
and change url-pattern in the <servlet-mapping>
from /HttpTunnelingServletdc to /servlet/HttpTunnelingServletdc
> </web-app>
> 
...
> *description* _The server encountered an internal error () that 
> prevented it from fulfilling this request._
> 
> *exception*
> 
> javax.servlet.ServletException
>       at 
> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
...
>       at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>       at java.lang.Thread.run(Thread.java:619)
> 
> *root cause*
> 
> java.lang.NullPointerException
>       at 
> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
Hopefully you have the source code for HttpTunnelingServlet since this
line means, your servlet gets invoked, but it is not happy to work :)
That might come from the fact, that you configured the servlet
HttpTunnelingServletdc, but used the invoker-servlet. Chances are, that
the proposed configuration chages in web.xml fix this.

HTH
 Felix

>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
...
> ------------------------------------------------------------------------
> 
> 
>       Apache Tomcat/4.1.3
> 
> 
> ===================================================================================
> *WORKING
> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2, 
> mod_jk 1.2.15, Diablo JRE 1.5)
> **============================================================================*
> *
> SERVER.XML
> * (jakarta-tomcat3.3/conf)
> <Ajp12Connector port="8007" />
> 
> *web.xml*
> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
> <?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>
>       HttpTunnelingServletdc
> </servlet-name>
> <servlet-class>
>       com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
> </servlet-class>
> <init-param>
> <param-name>Host</param-name>
> <param-value>localhost</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>HttpTunnelingServlet</servlet-name>
> <url-pattern>/HttpTunnelingServlet</url-pattern>
> </servlet-mapping>
> </web-app>
> 
> *workers.properties*
> worker.ajp12.type=ajp12
> worker.ajp12.port=8007
> worker.ajp12.host=localhost
> worker.ajp12.lbfactor=1
> 
> *mod_jk.conf*
> <IfModule !mod_jk.c>
>    LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
> </IfModule>
> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
> JkShmFile /var/log/jk-runtime-status
> JkLogLevel info
> JkMount /servlet/* ajp12
> 
> 



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

Reply via email to