Anyone else who has  got Tomcat 4 integrated with Apache 2 with 
mod_webapp and are using Struts out there?  Does this sound familiar at 
all?  Let me know (this was cross-posted on struts-user BTW):

I have successfully integrated Tomcat 4.0.3 and Apache 2.0.35 using the
mod_webapp WARP module.  Works perfectly for all my servlets/jsp webapps
that are non-struts.  As soon as I try to access my strutstest webapp,
or if I try the struts-example webapp, I get problems (and, yes, I
verified that these both work wonderfully when accessing them via
http://localhost:8080/struts-example/index.jsp, etc.).  For example,
when I access http://localhost/struts-example/index.jsp, I get the page
but with an error message at the top of the page:

ERROR: User database not loaded -- check servlet container logs for
error messages.

and checking the logs as suggested, catalina.out supplies this:

Starting service Tomcat-Apache
Apache Tomcat/4.0.3
New org.apache.struts.webapp.example.User
Set org.apache.struts.webapp.example.User properties
Begin event threw exception
java.lang.IllegalArgumentException: object is not an instance of
declaring class
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:42)
          at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:28)
          at java.lang.reflect.Method.invoke(Method.java:327)
          at
org.apache.struts.util.PropertyUtils.setSimpleProperty(PropertyUtils.java:988)
          at
org.apache.struts.util.PropertyUtils.setNestedProperty(PropertyUtils.java:904)
          at
org.apache.struts.util.PropertyUtils.setProperty(PropertyUtils.java:932)
          at org.apache.struts.util.BeanUtils.populate(BeanUtils.java:509)
          at
org.apache.struts.digester.SetPropertiesRule.begin(SetPropertiesRule.java:120)
          at
org.apache.struts.digester.Digester.startElement(Digester.java:528)
          at
org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
          at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
          at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
          at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
          at
org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
          at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
          at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
          at
org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
          at javax.xml.parsers.SAXParser.parse(SAXParser.java:316)
          at javax.xml.parsers.SAXParser.parse(SAXParser.java:91)
          at org.apache.struts.digester.Digester.parse(Digester.java:755)
          at
org.apache.struts.webapp.example.DatabaseServlet.load(DatabaseServlet.java:251)
          at
org.apache.struts.webapp.example.DatabaseServlet.init(DatabaseServlet.java:175)
          at javax.servlet.GenericServlet.init(GenericServlet.java:258)
          at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:916)
          at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:808)
          at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3266)
          at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3395)
          at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
          at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:454)
          at
org.apache.catalina.core.StandardHost.install(StandardHost.java:714)
          at
org.apache.catalina.connector.warp.WarpConfigurationHandler.deploy(WarpConfigurationHandler.java:313)
          at
org.apache.catalina.connector.warp.WarpConfigurationHandler.handle(WarpConfigurationHandler.java:117)
          at
org.apache.catalina.connector.warp.WarpConnection.run(WarpConnection.java:189)
          at java.lang.Thread.run(Thread.java:539)
register('-//Apache Software Foundation//DTD Struts Configuration
1.0//EN',
'jar:file:/usr/local/jakarta-tomcat-4.0.3-LE-jdk14/webapps/struts-example/WEB-INF/lib/struts.jar!/org/apache/struts/resources/struts-config_1_0.dtd'
register('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN',
'jar:file:/usr/local/jakarta-tomcat-4.0.3-LE-jdk14/webapps/struts-example/WEB-INF/lib/struts.jar!/org/apache/struts/resources/web-app_2_2.dtd'
register('-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN',
'jar:file:/usr/local/jakarta-tomcat-4.0.3-LE-jdk14/webapps/struts-example/WEB-INF/lib/struts.jar!/org/apache/struts/resources/web-app_2_3.dtd'
resolveEntity('-//Apache Software Foundation//DTD Struts Configuration
1.0//EN', 'http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd')
   Resolving to alternate DTD
'jar:file:/usr/local/jakarta-tomcat-4.0.3-LE-jdk14/webapps/struts-example/WEB-INF/lib/struts.jar!/org/apache/struts/resources/struts-config_1_0.dtd'
New org.apache.struts.action.ActionFormBean
Set org.apache.struts.action.ActionFormBean properties
Begin event threw exception
java.lang.IllegalArgumentException: object is not an instance of
declaring class
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:42)
          at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:28)
          at java.lang.reflect.Method.invoke(Method.java:327)
          at
org.apache.struts.util.PropertyUtils.setSimpleProperty(PropertyUtils.java:988)
          at
org.apache.struts.util.PropertyUtils.setNestedProperty(PropertyUtils.java:904)
          at
org.apache.struts.util.PropertyUtils.setProperty(PropertyUtils.java:932)
          at org.apache.struts.util.BeanUtils.populate(BeanUtils.java:509)
          at
org.apache.struts.digester.SetPropertiesRule.begin(SetPropertiesRule.java:120)
          at
org.apache.struts.digester.Digester.startElement(Digester.java:528)
          at
org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
          at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
          at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
          at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
          at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
          at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
          at
org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
          at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
          at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
          at
org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
          at javax.xml.parsers.SAXParser.parse(SAXParser.java:316)
          at javax.xml.parsers.SAXParser.parse(SAXParser.java:91)
          at org.apache.struts.digester.Digester.parse(Digester.java:755)
          at
org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
          at
org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
          at javax.servlet.GenericServlet.init(GenericServlet.java:258)
          at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:916)
          at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:808)
          at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3266)
          at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3395)
          at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
          at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:454)
          at
org.apache.catalina.core.StandardHost.install(StandardHost.java:714)
          at
org.apache.catalina.connector.warp.WarpConfigurationHandler.deploy(WarpConfigurationHandler.java:313)
          at
org.apache.catalina.connector.warp.WarpConfigurationHandler.handle(WarpConfigurationHandler.java:117)
          at
org.apache.catalina.connector.warp.WarpConnection.run(WarpConnection.java:189)
          at java.lang.Thread.run(Thread.java:539)


I then try to access the editRegistration.do action, and get this error
displayed on screen and in apache_log.2002-04-21.txt:

2002-04-21 00:33:36 action: init
2002-04-21 00:33:36 action: Loading application resources from resource
org.apache.struts.webapp.example.ApplicationResources
2002-04-21 00:33:36 action: Initializing configuration from resource
path /WEB-INF/struts-config.xml
2002-04-21 00:33:36 StandardWrapperValve[action]: Allocate exception for
servlet action
javax.servlet.ServletException: Parsing error processing resource path
/WEB-INF/struts-config.xml
          at
org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1337)
          at
org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
          at javax.servlet.GenericServlet.init(GenericServlet.java:258)
          at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:916)
          at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653)
          at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
          at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
          at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
          at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
          at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
          at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
          at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
          at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
          at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
          at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
          at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
          at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
          at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
          at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
          at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
          at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
          at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
          at
org.apache.catalina.connector.warp.WarpRequestHandler.handle(WarpRequestHandler.java:217)
          at
org.apache.catalina.connector.warp.WarpConnection.run(WarpConnection.java:194)
          at java.lang.Thread.run(Thread.java:539)
----- Root Cause -----
java.lang.IllegalArgumentException: object is not an instance of
declaring class
          at
org.apache.struts.digester.Digester.startElement(Digester.java:531)
          at
org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
          at
org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
[snip]


Strikes me that it may be a resource loading issue - is the webapp
getting confused as to where to find /WEB-INF/struts-config.xml, etc.?
Any one else using struts with Tomcat 4/Apache 2/mod_webapp and have it
working fine for them?  I can supply apache configs and tomcat configs
as well if that will help.

Thanx!

jeff

-- 
Jeffrey Bonevich
Ann Arbor, Michigan
[EMAIL PROTECTED]
http://www.bonevich.com

Hwæt! Wë Gär-Dena   in geär-dagum,
peod-cyninga,       prym gefrünon,
hü ða aepelingas   ellen fremedon!



--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to