You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Friso van Vollenhoven <fr...@mp-objects.com> on 2006/03/15 16:29:10 UTC

Parsing error processing resource path /WEB-INF/struts-config.xml java.io.FileNotFoundException in ActionServlet init

Hi,

Upon deploying my application on JBoss 4.0.2 I get this error:
16:11:34,122 ERROR [ActionServlet] Parsing error processing resource path
/WEB-INF/struts-config.xml
java.io.FileNotFoundException
	at
org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContex
tURLConnection.java:297)
	at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
	at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
	at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
	at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
	at
org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1572)
	at
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.j
ava:738)
	at
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:6
87)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)
	at javax.servlet.GenericServlet.init(GenericServlet.java:211)
	at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:10
91)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
	.
	.
	.

Does this look familiar to anyone? Below is a description of my setup...


I am trying to deploy a most basic J2EE app on JBoss 4.0.2 with Tomcat 5.5
(bundled) using Struts 1.2.8 (bin release). Because of errors I stripped the
app down to the simplest possible setup:

PersonApp.ear contains:
- PersonEJB.jar ==> one EJB session bean and some POJO Beans using Hibernate
persistence
- PersonWeb.war ==> the web app (stripped down to 2 JSPs, one action class
and the required descriptors and configuration)
- application.xml ==> deployment descriptor

The application deployment descriptor looks like:
<?xml version="1.0" encoding="UTF-8"?>
<application version="1.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
	http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
 	<display-name>Will it work like this?</display-name>
	<module>
		<ejb>PersonEJB.jar</ejb>
	</module>
	<module>
		<web>
			<web-uri>PersonWeb.war</web-uri>
			<context-root>/person</context-root>
		</web>
	</module>
</application>

The web application deployment descriptor contains only the servlet and
mapping for the Struts ActionServlet:
<servlet>
	<servlet-name>action</servlet-name>
	<servlet-class>
		org.apache.struts.action.ActionServlet
	</servlet-class>
	<init-param>
		<param-name>config</param-name>
		<param-value>/WEB-INF/struts-config.xml</param-value>
	</init-param>
	<init-param>
		<param-name>debug</param-name>
		<param-value>2</param-value>
	</init-param>
	<init-param>
		<param-name>detail</param-name>
		<param-value>2</param-value>
	</init-param>
	<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

The contents of my struts-config.xml does not seem to matter as it is never
read; it is there (at /WEB-INF/struts-config.xml). Anyway, I stripped it
down to just one global forward, one form and one action with a forward to a
JSP.

I downloaded the Struts source to have a go at it in my debugger. In
ActionServlet.parseModuleConfigFile (see stacktrace above) a URL is
contstructed from the init-param using:

URL url = getServletContext().getResource(path);

And this URL is passed to an InputSource constructor from which the
resulting object is passed to the Digester instance used for parsing the
config. In the debugger the URL appears to be pointing to my
struts-config.xml file, yet the exception above is thrown. Could this be a
JBoss / Tomcat issue? Or am I missing something trivial here? I have no
problem deploying the Struts examples (by dropping the WARs into JBoss'
deploy directory). I am not new to Struts, but have never used Struts as
part of an EJB app (just as part of a web-app running on only a servlet
container).

Any hint towards a solution will be much appreciated!


Regards,

Friso



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Parsing error processing resource path /WEB-INF/struts-config.xml ja

Posted by Rajul <rj...@attensity.com>.
Hi,

I am getting the same error "FilenotfoundException" for struts-config.xml
with Tomcat 5.

Did you figure out how to resolve this?

-Rajul.

--
View this message in context: http://www.nabble.com/Parsing-error-processing-resource-path-WEB-INF-struts-config.xml-java.io.FileNotFoundException-in-ActionServlet-init-t1285215.html#a3579937
Sent from the Struts - User forum at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org