You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by JS <sm...@dcs.kcl.ac.uk> on 2003/04/08 20:21:22 UTC
Dodgy web.xml and error in catalina.out
Hi there,
This email kinda follows on from my one about the 503 servlet invoker erro
Basically, Im trying to run a basic ConnectionPool servlet. It works when
I access the servlet directly using
http://localhost:8080/mydcs/servlet/coreservlets.ConnectionPool
Problem is, when I try and access it through a html page, I get the 404
error in one frame and the 503 in another frame. Both the frames in the
html document are accessing the same servlet.
Whats interesting is that when I look at catalina.out, and the Java Web
Services Developeer Pack Log, things are not going according to plan.
Whats more interesting is that in jwsdp_log.txt, there are some more
complaints about my web.xml file. See below. Web.xml seems to be in order.
Unless I'm missing something.
Ive included web.xml, catalina.out and jwsdp_log.txt below.
I'd appreciate it if someone shed some light on whats going on here.
Many thanks, much appreciated.
JS
----------------------------
Here;s TOMCAT_HOME\webapps\mydcs\WEB-INF\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>
<display-name>XML Web Service for DCS</display-name>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>coreservlets.ConnectionPoolServlet</servlet-name>
<servlet-class>coreservlets.ConnectionPoolServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>LoginServletNoPool</servlet-name>
<servlet-class>LoginServletNoPool</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>JDOMServlet</servlet-name>
<servlet-class>JDOMServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JDOMServlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>coreservlets.ConnectionPoolServlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
</web-app>
---------------------------
Here's catalina.out;
---------------------------
Starting service Java Web Services Developer Pack
Java Web Services Developer Pack/1.0_01-fcs
org.xml.sax.SAXParseException: Document root element "web-app", must match
DOCTYPE root "null". at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:232) at
org.apache.xerces.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:173) at
org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:362) at
org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:296) at
org.apache.xerces.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:2546) at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:2850) at
org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:792) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:752) at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(XMLDocumentScannerImpl.java:927) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1519) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333) at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:529) at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:585) at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1148) at org.apache.commons.digester.Digester.parse(Digester.java:1284)
at
org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:282) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:639)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243) at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3445)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:257) at org.apache.catalina.core.StandardHost.install(StandardHost.java:773)
at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:569) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:411)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:882)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368) at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1198)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:739)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1190)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
at org.apache.catalina.core.StandardService.start(StandardService.java:499)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2187)
at org.apache.catalina.startup.Catalina.start(Catalina.java:504)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:399)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.launcher.Launcher.main(Launcher.java:208)
[ERROR] Digester - -Parse Error at line 1 column 10: Document root element
"web-app", must match DOCTYPE root "null". <org.xml.sax.SAXParseException:
Document root element "web-app", must match DOCTYPE root "null".>org.xml.sax.SAXParseException: Document is invalid: no grammar found.
-------------------------------
Here's jwsdp_log.txt;
-------------------------------
2003-04-08 18:53:22 ConnectionPool.ConnectionPoolServlet: init
2003-04-08 18:53:22 StandardWrapper[/djs:invoker]: Loading container
servlet invoker2003-04-08 18:53:22 invoker: init
2003-04-08 18:53:22 jsp: init
***************************************************
Here is the dodgy line!!!, everything else seems to load up fine.
As a result of this, my classes are not found
***************************************************
2003-04-08 18:53:22 Exception initializing TldLocationsCache: XML parsing
error on file /WEB-INF/web.xml: (line 1, col 10): Document root element
"web-app", must match DOCTYPE root "null".2003-04-08 18:53:22 HostConfig[localhost]: Deploying web application
directory mydcs2003-04-08 18:53:22 StandardHost[localhost]: Installing web application at
context path /mydcs from URL file:C:\WINDOWS\jwsdp-1_0_01\webapps\mydcs2003-04-08 18:53:22 WebappLoader[/mydcs]: Deploying class repositories to
work directory C:\WINDOWS\jwsdp-1_0_01\work\Standard
Engine\localhost\mydcs2003-04-08 18:53:22 WebappLoader[/mydcs]: Deploy class files
/WEB-INF/classes to C:\WINDOWS\jwsdp-1_0_01\webapps\mydcs\WEB-INF\classes2003-04-08 18:53:23 StandardManager[/mydcs]: Seeding random number
generator class java.security.SecureRandom2003-04-08 18:53:23 StandardManager[/mydcs]: Seeding of random number
generator has been completed2003-04-08 18:53:23 LoginServletNoPool: init
2003-04-08 18:53:23 coreservlets.ConnectionPoolServlet: init
2003-04-08 18:53:26 StandardWrapper[/mydcs:default]: Loading container
servlet default2003-04-08 18:53:26 default: init
2003-04-08 18:53:26 LoginServlet: init
2003-04-08 18:53:26 StandardWrapper[/mydcs:invoker]: Loading container
servlet invoker2003-04-08 18:53:26 invoker: init
2003-04-08 18:53:26 jsp: init
2003-04-08 18:53:28 StandardWrapper
***************************************************
This is why my classes are not being found, the invoker is doing something
to it, presumably because web.xml isnt in order??***************************************************[:org.apache.catalina.INVOKER.coreservlets.ConnectionPoolServlet]:
Marking servlet
org.apache.catalina.INVOKER.coreservlets.ConnectionPoolServlet as
unavailable2003-04-08 18:53:28
StandardWrapperValve[org.apache.catalina.INVOKER.coreservlets.ConnectionPoolServlet]:
Allocate exception for servlet
org.apache.catalina.INVOKER.coreservlets.ConnectionPoolServletjavax.servlet.ServletException: Wrapper cannot find servlet class
coreservlets.ConnectionPoolServlet or a class it depends on at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:874) at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:656) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:376) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:518) at java.lang.Thread.run(Thread.java:536)
----- Root Cause -----
java.lang.ClassNotFoundException: coreservlets.ConnectionPoolServlet
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1406) at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252) at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:868) at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:656) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:376) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:518) at java.lang.Thread.run(Thread.java:536)
Thanks again!
JS
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org