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