Hey guys

I am trying to get cactus to work with ant. My earlier post has been solved, it was a content.xml file that was the problem.

My current Problem is this:

I am using the following to ant target to create the cactified war file:

<target name="development.test.prepare" depends="development-create-war, compile.cactus">
<!-- Cactify the war file -->
<cactifywar srcfile="${target.dir}/rms_dev.war"
destFile="${target.dir}/rms-dev-cactified.war">
<classes dir="${target.classes.cactus.dir}"/>
<lib file="${httpunit.jar}"/>
</cactifywar>
<mkdir dir="${target.testreports.dir}"/>
<mkdir dir="${target.testreports.dir}/tomcat5x"/>
</target>


This will work if I do not have any reference to ServletRedirector in my web.xml. However in the logs that the running of this cactified war target generates I see the following:

13-Dec-2004 18:18:28 org.apache.catalina.startup.ContextConfig applicationConfig
SEVERE: Parse error in application web.xml
java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name ServletRedirector
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
at org.apache.commons.digester.Digester.endElement(Digester.java:1061)


Which I take to mean that the web.xml is not formed correctly, i take a look at the web.xml file that is deployed from the cactified war file and here it is:

<web-app>
    <servlet>
        <servlet-name>JspRedirector</servlet-name>
        <jsp-file>/jspRedirector.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRedirector</servlet-name>
        <url-pattern>/ServletRedirector</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>JspRedirector</servlet-name>
        <url-pattern>/JspRedirector</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <filter>
        <filter-name>FilterRedirector</filter-name>

<filter-class>org.apache.cactus.server.FilterTestRedirector</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>FilterRedirector</filter-name>
        <url-pattern>/FilterRedirector</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>rmsDispatcher</servlet-name>
        <servlet-class>com.sun.rms.tracking.RMSDispatcher</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletRedirector</servlet-name>
<servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>rmsDispatcher</servlet-name>
        <url-pattern>/RMSDispatcher/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
    </welcome-file-list>
    <resource-ref>
        <description>postgreSQL Datasource example</description>
        <res-ref-name>jdbc/postgres</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>

Notice that the ServletRedirector is declared, but only AFTER the <servlet-mapping> tag that corresponds with the ServletRedirector. Should the <Servlet> declaration be declared before the <servlet-mapping> tags. If so, why is cactus and ant getting it so wrong!

I have been working on this problem all day and it is slowly removing my will to live, any help is much appreciated!

Cheers

Rich

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to