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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to