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
- 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
*After upgrading to FreeBSD 8.2 I had to upgrade from tomcat 3.3 to 4.1
because I did not find any port for tomcat version 3.3.
I do not manage to make the httpd tunneling applet running correctly
with ajp1.3 but I think it does not depend on the connector but a
misconfigured mapping.
I guess that following warning in mod_jk.log shows up the reason for my
problem when requesting
http://test.Domain.com/servlet/*HttpTunnelingServletdc*'
*[Tue Jul 26 13:00:56.615 2011] [36163:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri
must start with /*
However the tomcat 4.1 start page is accessible via http://domain:8180
and working correctly!
Below you find the configuration of my current system under FreeBSD
mentioned above with tomcat 4.1.36 and apache 2.2.17 which does not run
correctly _and the configuration for tomcat 3.3 which is running
correctly_.*
*Since I am not familiar with tomcat I would be glad if someone could
give me a hint to solve my problem.
Or maybe someone can give me some hints for how to compile tomcat 3.3
sources for FreeBSD ;-)
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/...
...
*
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
*
workers.properties
*workers.java_home=/usr/local/diablo-jdk1.6.0
workers.tomcat_home=/usr/local/apache-tomcat4.1
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*
<Service name="Tomcat-Standalone">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8180" enableLookups="true" redirectPort="8443"
acceptCount="100" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" enableLookups="true" redirectPort="8443"
connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />
<Engine name="Standalone" defaultHost="localhost" debug="0"
jvmRoute="jsp-hostname">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<!-- 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"/>
*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">
<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>
</web-app>
*catalina.out*
StandardEngine[null]: setJvmRoute=jsp-hostname
Jul 26, 2011 11:25:19 AM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8180
Starting service Tomcat-Standalone
Apache Tomcat/4.1.36
HTTP Tunnel connected to the digichat server localhost
HTTP Tunnel connected to the digichat server localhost
Jul 26, 2011 11:25:20 AM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8180
Jul 26, 2011 11:25:20 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 26, 2011 11:25:20 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17 config=null
*mod_jk.log*
[Tue Jul 26 11:25:13.007 2011] [35031:34382823872] [info]
init_jk::mod_jk.c (3198): mod_jk/1.2.31 (1026297) initialized
[Tue Jul 26 11:29:37.458 2011] [35103:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri
must start with /
[Tue Jul 26 11:30:15.672 2011] [35034:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri
must start with /
*ROOT-http-tunneling_log.2011-07-26.txt*
2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploying class repositories to
work directory /usr/local/apache-tomcat4.1/work/Standalone/localhost/ROOT
2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploy class files
/WEB-INF/classes to /usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes
2011-07-26 11:25:19 WebappLoader[/ROOT]: Reloading checks are enabled
for this Context
2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding random number
generator class java.security.SecureRandom
2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding of random number
generator has been completed
2011-07-26 11:25:19 StandardWrapper[/ROOT:default]: Loading container
servlet default
2011-07-26 11:25:19 StandardWrapper[/ROOT:invoker]: Loading container
servlet invoker
*Requesting http://www.domain.com/servlet/HttpTunnelingServletdc via
Browser results in:*
HTTP Status 500 -
*type* Exception report
*message*
*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.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
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])
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)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
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)
------------------------------------------------------------------------
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
[Tomcat-users] Problems after updating from Tomcat 3.3 to 4.1: http tunneling servlet not working anymore
| Tweet |
|
Search Discussions
-
David kerber at Jul 26, 2011 at 2:44 pm ⇧
Since you have to upgrade any way, why not upgrade to a current versionOn 7/26/2011 10:29 AM, Volker wrote:
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
- diablo-jdk1.6.0
of TC, such as 6.0.x, or 7.x? You're not likely to find many people
here who remember (or even ever used) tc 4.x.
D
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
-
Volker at Jul 26, 2011 at 2:58 pm ⇧
Hi,Am 26.07.2011 16:43, schrieb David kerber:On 7/26/2011 10:29 AM, Volker wrote:Since you have to upgrade any way, why not upgrade to a current
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
- diablo-jdk1.6.0
version of TC, such as 6.0.x, or 7.x? You're not likely to find many
people here who remember (or even ever used) tc 4.x.
D
I chose tomcat 4.1 because I thought that the differences in
configuration of tomcat 4.1 compared with 3.3 are less than compared
with 7.x.
If you could have a look on my working config of 3.3 and tell me how to
transfer them in a config for 7.x I even would install 7.x ;-)
I really "only" use it for that littel http tunneling script!
Best regards
Volker------------------------------------------------------------------------------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
-
Volker at Jul 26, 2011 at 2:47 pm ⇧
I forget to mention that in httpd.conf the connectors are integrated
like following:
<virtualhost domain.com test.domain.com>
....
JkMount /servlet jsp-hostname
JkMount /servlet/* jsp-hostname
</virtualhost>
Best regards
Volker
Am 26.07.2011 16:29, 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
- 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
*After upgrading to FreeBSD 8.2 I had to upgrade from tomcat 3.3 to
4.1 because I did not find any port for tomcat version 3.3.
I do not manage to make the httpd tunneling applet running correctly
with ajp1.3 but I think it does not depend on the connector but a
misconfigured mapping.
I guess that following warning in mod_jk.log shows up the reason for
my problem when requesting
http://test.Domain.com/servlet/*HttpTunnelingServletdc*'
*[Tue Jul 26 13:00:56.615 2011] [36163:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid.
Uri must start with /*
However the tomcat 4.1 start page is accessible via http://domain:8180
and working correctly!
Below you find the configuration of my current system under FreeBSD
mentioned above with tomcat 4.1.36 and apache 2.2.17 which does not
run correctly _and the configuration for tomcat 3.3 which is running
correctly_.*
*Since I am not familiar with tomcat I would be glad if someone could
give me a hint to solve my problem.
Or maybe someone can give me some hints for how to compile tomcat 3.3
sources for FreeBSD ;-)
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/...
...
*
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
*
workers.properties
*workers.java_home=/usr/local/diablo-jdk1.6.0
workers.tomcat_home=/usr/local/apache-tomcat4.1
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*
<Service name="Tomcat-Standalone">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8180" enableLookups="true" redirectPort="8443"
acceptCount="100" connectionTimeout="20000"
useURIValidationHack="false"
disableUploadTimeout="true" />
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" enableLookups="true" redirectPort="8443"
connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />
<Engine name="Standalone" defaultHost="localhost" debug="0"
jvmRoute="jsp-hostname">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<!-- 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"/>
*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">
<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>
</web-app>
*catalina.out*
StandardEngine[null]: setJvmRoute=jsp-hostname
Jul 26, 2011 11:25:19 AM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8180
Starting service Tomcat-Standalone
Apache Tomcat/4.1.36
HTTP Tunnel connected to the digichat server localhost
HTTP Tunnel connected to the digichat server localhost
Jul 26, 2011 11:25:20 AM org.apache.coyote.http11.Http11BaseProtocol
start
INFO: Starting Coyote HTTP/1.1 on http-8180
Jul 26, 2011 11:25:20 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 26, 2011 11:25:20 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17 config=null
*mod_jk.log*
[Tue Jul 26 11:25:13.007 2011] [35031:34382823872] [info]
init_jk::mod_jk.c (3198): mod_jk/1.2.31 (1026297) initialized
[Tue Jul 26 11:29:37.458 2011] [35103:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid.
Uri must start with /
[Tue Jul 26 11:30:15.672 2011] [35034:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid.
Uri must start with /
*ROOT-http-tunneling_log.2011-07-26.txt*
2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploying class repositories
to work directory
/usr/local/apache-tomcat4.1/work/Standalone/localhost/ROOT
2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploy class files
/WEB-INF/classes to
/usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes
2011-07-26 11:25:19 WebappLoader[/ROOT]: Reloading checks are enabled
for this Context
2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding random number
generator class java.security.SecureRandom
2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding of random number
generator has been completed
2011-07-26 11:25:19 StandardWrapper[/ROOT:default]: Loading container
servlet default
2011-07-26 11:25:19 StandardWrapper[/ROOT:invoker]: Loading container
servlet invoker
*Requesting http://www.domain.com/servlet/HttpTunnelingServletdc via
Browser results in:*
HTTP Status 500 -
*type* Exception report
*message*
*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.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
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])
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)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
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)
------------------------------------------------------------------------
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
-
Felix Schumacher at Jul 26, 2011 at 5:54 pm ⇧
Hi Volker,
Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:Hello,As you said elsewhere in this thread, that you are willing to upgrade to
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
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.- diablo-jdk1.6.0That looks like you are using the strongly discouraged dispatcher
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
servlet. That is still available, but disabled by default. And you
should leave it that way.
>
...Thanks a lot and best regardsI read that as: There are some files and directories under
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/...
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too....Remove both deprecated config options java_home and tomcat_home. They
*
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
are not needed anymore.worker.list=jsp-hostnameCopy the server.xml from a fresh tomcat download and replace your
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*
port-numbers in there.<Service name="Tomcat-Standalone"> ...Your context descriptions for ROOT and example would be placed in newly
<!-- 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"/>
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.You could update your webapp to a newer version by replacing the above
*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">
values, but they should do no harm.<web-app>Instead of mapping a not configured servlet named invoker to /servlet/*
<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>
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> ...Hopefully you have the source code for HttpTunnelingServlet since this
*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])
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
Felixat 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
-
Volker at Jul 26, 2011 at 11:20 pm ⇧
Hallo Felix,
thanks for your hints, I will check them out today.
Believe it or not: Obviously the configuration for tomcat 4.1 I posted
here is running correctly.
But I did not notice it - and this will be the problem for all my chat
site visitors that need http tunneling - because it takes nearly 2
minutes with tomcat 4.1 until the chat applets request of
http://test.Domain.com/servlet/*HttpTunnelingServletdc
does show up in apache?s log file whereas tomcat 3.3 is requesting the
tunneling servlet at once.
Result:
Chatters behind a firewall that blocks several ports except port 80 can
enter the chat in a few seconds by help of the tunneling servlet and
tomcat 3.3.
With tomcat 4.1 they will think the chat does not work and leave the site.
I only noticed that slow behaviour because I had a phone call after
requesting the chat applet behind a firewall only permitting port 80.
Maybe you can recommend any tuning settings for my problem concerning
tomcat 4.1?
Thanks a lot and best regards
V o l k e r
Am 26.07.2011 19:54, schrieb Felix Schumacher:Hi Volker,
Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:Hello,As you said elsewhere in this thread, that you are willing to upgrade to
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
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.- diablo-jdk1.6.0That looks like you are using the strongly discouraged dispatcher
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
servlet. That is still available, but disabled by default. And you
should leave it that way.
...Thanks a lot and best regardsI read that as: There are some files and directories under
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/...
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too....Remove both deprecated config options java_home and tomcat_home. They
*
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
are not needed anymore.worker.list=jsp-hostnameCopy the server.xml from a fresh tomcat download and replace your
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*
port-numbers in there.<Service name="Tomcat-Standalone"> ...Your context descriptions for ROOT and example would be placed in newly
<!-- 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"/>
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*You could update your webapp to a newer version by replacing the above
<?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">
values, but they should do no harm.<web-app>Instead of mapping a not configured servlet named invoker to /servlet/*
<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>
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> ...Hopefully you have the source code for HttpTunnelingServlet since this
*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])
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
Felixat 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org -
Volker at Jul 27, 2011 at 11:09 am ⇧
Hallo Felix,
I considered all tips you gave. Thanks again.
Like mentioned before my configuration was running correctly but I could
not notice that because the http tunneling does need much more time
(first request of the httptunnelingdc-Servlet (I check this out in
Apache?s log-file) than my former configuration with tomcat.
Now I wonder how I can tune something (Simultaneously I will install
tomcat 7.x) because I do not know if the slow-performance-problem
depends on tomcat settings or maybe on the Diablo-Java-Settings?
The combination with tomcat 3.3, apj12, mod_jk, Diablo JRE 1.5 and
apache 1.3 results in opening the chat window via http tunneling in *a
few seconds* if you blocked all ports except port 80 before for Java
(Browser).
With tomcat 4.1 the same procedure needs nearly 3 minutes.
Any idea?
Thanks and best regards
V o l k e r
Am 26.07.2011 19:54, schrieb Felix Schumacher:Hi Volker,
Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:Hello,As you said elsewhere in this thread, that you are willing to upgrade to
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
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.- diablo-jdk1.6.0That looks like you are using the strongly discouraged dispatcher
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
servlet. That is still available, but disabled by default. And you
should leave it that way.
...Thanks a lot and best regardsI read that as: There are some files and directories under
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/...
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too....Remove both deprecated config options java_home and tomcat_home. They
*
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
are not needed anymore.worker.list=jsp-hostnameCopy the server.xml from a fresh tomcat download and replace your
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*
port-numbers in there.<Service name="Tomcat-Standalone"> ...Your context descriptions for ROOT and example would be placed in newly
<!-- 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"/>
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*You could update your webapp to a newer version by replacing the above
<?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">
values, but they should do no harm.<web-app>Instead of mapping a not configured servlet named invoker to /servlet/*
<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>
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> ...Hopefully you have the source code for HttpTunnelingServlet since this
*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])
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
Felixat 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org -
Felix Schumacher at Jul 27, 2011 at 5:35 pm ⇧
Hi Volker,
Am Mittwoch, den 27.07.2011, 13:08 +0200 schrieb Volker:Hallo Felix,are you still using the invoker servlet, or are you using
I considered all tips you gave. Thanks again.
Like mentioned before my configuration was running correctly but I could
not notice that because the http tunneling does need much more time
(first request of the httptunnelingdc-Servlet (I check this out in
Apache?s log-file) than my former configuration with tomcat.
httptunnelingdc-Servlet with a url-path?Now I wonder how I can tune something (Simultaneously I will installLook at
tomcat 7.x) because I do not know if the slow-performance-problem
depends on tomcat settings or maybe on the Diablo-Java-Settings?
I would bet, that the app is causing the delay.
The combination with tomcat 3.3, apj12, mod_jk, Diablo JRE 1.5 and
apache 1.3 results in opening the chat window via http tunneling in *a
few seconds* if you blocked all ports except port 80 before for Java
(Browser).
With tomcat 4.1 the same procedure needs nearly 3 minutes.
Any idea?
http://wiki.apache.org/tomcat/FAQ/Troubleshooting_and_Diagnostics and
find the troublemaker :) Common advise is to take a few threadtraces a
few seconds apart. Then find stacktraces which apear to be stuck. Maybe
it just tries to do a dns lookup or connect to some host until it times
out.
Regards
FelixThanks and best regards
V o l k e r
Am 26.07.2011 19:54, schrieb Felix Schumacher:Hi Volker,
Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:Hello,As you said elsewhere in this thread, that you are willing to upgrade to
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
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.- diablo-jdk1.6.0That looks like you are using the strongly discouraged dispatcher
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
servlet. That is still available, but disabled by default. And you
should leave it that way.
...Thanks a lot and best regardsI read that as: There are some files and directories under
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/...
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too....Remove both deprecated config options java_home and tomcat_home. They
*
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
are not needed anymore.worker.list=jsp-hostnameCopy the server.xml from a fresh tomcat download and replace your
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*
port-numbers in there.<Service name="Tomcat-Standalone"> ...Your context descriptions for ROOT and example would be placed in newly
<!-- 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"/>
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*You could update your webapp to a newer version by replacing the above
<?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">
values, but they should do no harm.<web-app>Instead of mapping a not configured servlet named invoker to /servlet/*
<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>
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> ...Hopefully you have the source code for HttpTunnelingServlet since this
*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])
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
Felixat 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
-
Volker at Jul 27, 2011 at 9:24 pm ⇧
No, invoker servlet is not used anymore!Am 27.07.2011 19:34, schrieb Felix Schumacher:
Hi Volker, Hi Felix,
Am Mittwoch, den 27.07.2011, 13:08 +0200 schrieb Volker:Hallo Felix,are you still using the invoker servlet, or are you using
I considered all tips you gave. Thanks again.
Like mentioned before my configuration was running correctly but I could
not notice that because the http tunneling does need much more time
(first request of the httptunnelingdc-Servlet (I check this out in
Apache?s log-file) than my former configuration with tomcat.
httptunnelingdc-Servlet with a url-path?Well, I guess that too. But since the applet code has not changed itNow I wonder how I can tune something (Simultaneously I will installI would bet, that the app is causing the delay.
tomcat 7.x) because I do not know if the slow-performance-problem
depends on tomcat settings or maybe on the Diablo-Java-Settings?
obviously depends on the Java-Plugin-version too!No, ist has to do with the applet params for different ports you canThe combination with tomcat 3.3, apj12, mod_jk, Diablo JRE 1.5 andLook at
apache 1.3 results in opening the chat window via http tunneling in *a
few seconds* if you blocked all ports except port 80 before for Java
(Browser).
With tomcat 4.1 the same procedure needs nearly 3 minutes.
Any idea?
http://wiki.apache.org/tomcat/FAQ/Troubleshooting_and_Diagnostics and
find the troublemaker :) Common advise is to take a few threadtraces a
few seconds apart. Then find stacktraces which apear to be stuck. Maybe
it just tries to do a dns lookup or connect to some host until it times
out.
define for contacting the chat server.
For example defining the ports under which the chat server is listening
looks like following:
<param name='ports' value='ports=119,8080,58399'>
The the applet tries to reach the chat server via port 119. If that does
not work it continues with port 8080 etc.
If all ports fail, the http tunneling servlet is requested.
If you only define ports=119 which is blocked by your firewall
client-sided the http tunneling will be requested after 30 seconds.
Defining the 3 ports 119,8080 and 58399 results in nearly 3 minutes if
you are blocking those ports with a software firewall.
Best regards
VolkerRegards---------------------------------------------------------------------
FelixThanks and best regards
V o l k e r
Am 26.07.2011 19:54, schrieb Felix Schumacher:Hi Volker,
Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:Hello,As you said elsewhere in this thread, that you are willing to upgrade to
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
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.- diablo-jdk1.6.0That looks like you are using the strongly discouraged dispatcher
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
servlet. That is still available, but disabled by default. And you
should leave it that way.
...Thanks a lot and best regardsI read that as: There are some files and directories under
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/...
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too....Remove both deprecated config options java_home and tomcat_home. They
*
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
are not needed anymore.worker.list=jsp-hostnameCopy the server.xml from a fresh tomcat download and replace your
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*
port-numbers in there.<Service name="Tomcat-Standalone"> ...Your context descriptions for ROOT and example would be placed in newly
<!-- 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"/>
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*You could update your webapp to a newer version by replacing the above
<?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">
values, but they should do no harm.<web-app>Instead of mapping a not configured servlet named invoker to /servlet/*
<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>
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> ...Hopefully you have the source code for HttpTunnelingServlet since this
*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])
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
Felixat 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
-
Konstantin Kolinko at Jul 26, 2011 at 11:57 pm ⇧
One reason to abandon 4.1 is that there are known security issues that2011/7/26 Volker <tomcat@webchannel.de>:
- tomcat 4.1.36_2
has been fixed in 5.5 and later but have never been evaluated against
4.1
Best regards,
Konstantin Kolinko
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Related Discussions
Discussion Navigation
| view | thread | post |
Discussion Overview
| group | users
|
| categories | tomcat |
| posted | Jul 26, '11 at 2:30p |
| active | Jul 27, '11 at 9:24p |
| posts | 10 |
| users | 4 |
| website | tomcat.apache.org |
| irc | #tomcat |
