Hi Keith, as far as I remember Cactus turns to the Cargo project for parsing the web.xml and determining the version of the web.xml. I now see that they don't cover version 2.5 But they are about to make a new release so I will see if they can include the changes.
Regards, Petar. 2008/6/5, Keith R. Davis <[EMAIL PROTECTED]>: > > I think I found the culprit: > > From the Cactus docs: > > The Cactus test redirectors are automatically injected into the deployment > descriptor of the destination archive. By the way, the task will examine the > version of the *web-app DTD used in the source file, which determines the > servlet API version in use (if no |DOCTYPE| declaration is found, it assumes > servlet API 2.2)*. The filter test redirector will only be inserted if the > servlet API version is 2.3 (or later). > > The Glassfish web.xml uses schemas (xsd) not DOCTYPEs, so I think what is > happening is the Cactus ant tasks think my 2.5 web.xml is really a 2.2 > application and therefore does not add the FilterRedirector. I finally got > a filter tests to work after forcing a filter into the original web.xml. > So my next question is, how to make it work... > > I stuffed the following at the top of my web.xml: > > <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application > Server 9.0 Servlet 2.5//EN" " > http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd"> > > Didn't work, no FilterRedirector, so taking a wild stab, I added a 2.3 > DOCTYPE to the web.xml: > > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application > 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> > > Everything works! But the app versions are mismatched 2.3 DOCTYPE with a > 2.5 file, NOT good and I get nasty validation errors. This looks like a > bug. > > My original web.xml: > > <?xml version="1.0" encoding="UTF-8"?> > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" > http://java.sun.com/xml/ns/javaee > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> > <display-name>openEPRS Services</display-name> > <filter> > <filter-name>LoginCheckFilter</filter-name> > > <filter-class>com.zunisoft.openeprs.servlet.LoginCheckFilter</filter-class> > </filter> > <filter-mapping> > <filter-name>LoginCheckFilter</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > <filter> > <filter-name>WadlFormatFilter</filter-name> > > <filter-class>com.zunisoft.openeprs.servlet.WadlFormatFilter</filter-class> > <init-param> > <param-name>xsltfile</param-name> > <param-value>/common/xsl/wadl_to_html.xsl</param-value> > </init-param> > </filter> > <filter-mapping> > <filter-name>WadlFormatFilter</filter-name> > <url-pattern>/resources/application.wadl</url-pattern> > </filter-mapping> > <servlet> > <servlet-name>ServletAdaptor</servlet-name> > > <servlet-class>com.sun.ws.rest.impl.container.servlet.ServletAdaptor</servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > <servlet-mapping> > <servlet-name>ServletAdaptor</servlet-name> > <url-pattern>/resources/*</url-pattern> > </servlet-mapping> > <session-config> > <session-timeout> > 30 > </session-timeout> > </session-config> > <welcome-file-list> > <welcome-file>index.jsp</welcome-file> > </welcome-file-list> > <login-config> > <auth-method>BASIC</auth-method> > <realm-name>openeprs-realm</realm-name> > </login-config> <security-constraint> > <display-name>Protected Resources</display-name> > <web-resource-collection> > <web-resource-name>Secure Web Services</web-resource-name> > <description/> > <url-pattern>/*</url-pattern> > <http-method>GET</http-method> > <http-method>POST</http-method> > <http-method>HEAD</http-method> > <http-method>PUT</http-method> > <http-method>OPTIONS</http-method> > <http-method>TRACE</http-method> > <http-method>DELETE</http-method> > </web-resource-collection> > <auth-constraint> > <description>Role Access</description> > <role-name>admin</role-name> > </auth-constraint> > </security-constraint> > <security-role> > <description>Administrator</description> > <role-name>admin</role-name> > </security-role> > </web-app> > > Keith R. Davis wrote: > >> I have a meeting so I won't be available this afternoon. What time zone >> are >> you on? >> >> On Wed, 4 Jun 2008 21:44:06 +0300, "Petar Tahchiev" < >> [EMAIL PROTECTED]> >> wrote: >> >> >>> Hi Keith, >>> >>> do you have some kind of AIM, Gtalk, Skype, ICQ. >>> >>> I want to help you so it would be best if I can talk to you >>> in person. >>> >>> Thanks, Petar. >>> >>> 2008/6/4, Keith R. Davis <[EMAIL PROTECTED]>: >>> >>> >>>> I give up, tried linux and windows, downgraded to ant 1.6.5, tried the >>>> mergewebxml attribute with cactifywar, changed api levels in the web.xml >>>> and even forced a filterredirector into the original web.xml. The >>>> >>>> >>> closest I >>> >>> >>>> get is a 404 not found error when running a filter test. The cactus >>>> >>>> >>> samples >>> >>> >>>> fail as well. The environment is Netbeans 6.1 and Glassfish V2UR2. I >>>> couldn't find a way of adding the filter redirector through any cactus >>>> method that would work with this environment. >>>> >>>> Does anyone use alternative testing frameworks? >>>> >>>> On Wed, 04 Jun 2008 07:09:49 -0600, Keith R. Davis >>>> >>>> <[EMAIL PROTECTED]> wrote: >>>> >>>> >>>>> Petar, >>>>> >>>>> Thanks for the hints, I'll see what happens. One of the first things >>>>> >>>>> >>>> I >>> >>> >>>> did >>>>> check was the dtd version in the web.xml, it is 2.5. I forgot about >>>>> running >>>>> ant in verbose mode, that may give me a bit of insight as well as >>>>> >>>>> >>>> trying >>> >>> >>>> a >>>> >>>> >>>>> different version of ant. >>>>> >>>>> Thanks again! >>>>> >>>>> On Wed, 4 Jun 2008 15:45:25 +0300, "Petar Tahchiev" >>>>> <[EMAIL PROTECTED]> >>>>> wrote: >>>>> >>>>> >>>>>> Hi Keith, >>>>>> >>>>>> honestly I don't see any reason why this would not work. >>>>>> Everything seems OK. :-( >>>>>> I want to give you a few hints to try different stuff: >>>>>> >>>>>> 0) Your web.xml might follow the 2.2 dtd schema. >>>>>> If that is the case then filter redirectors will not get included in >>>>>> >>>>>> >>>>> the >>> >>> >>>> web.xml. >>>>>> You can try to add the >>>>>> mergewebxml="${basedir}/src/main/webapp/WEB-INF/cactus-web.xml" >>>>>> parameter to your cactifywar task. >>>>>> >>>>>> 1) First try to execute ant in verbose mode: ant -v >>>>>> and see if the redirectors get added. You can also redirect the >>>>>> >>>>>> >>>>> output >>> >>> >>>> with >>>>>> >>>>>> >>>>>>> to a file >>>>>>> >>>>>>> >>>>>> and attach the output to your mail here. >>>>>> >>>>>> 2) I think there was some problem with Ant 1.7.0. >>>>>> If the first hint does not work you can try to downgrade to ant >>>>>> >>>>>> >>>>> 1.6.5, >>> >>> >>>> or >>>>> >>>>> >>>>>> use ant 1.7.1 or >>>>>> Ant 1.8.0. >>>>>> >>>>>> 3) Also try to execute the sample tests that come with the source >>>>>> distribution. >>>>>> See how they work and follow their principles. >>>>>> >>>>>> Hope some of these help. >>>>>> >>>>>> Best of luck, Petar. >>>>>> >>>>>> 2008/6/4 Keith R. Davis <[EMAIL PROTECTED]>: >>>>>> >>>>>> >>>>>> >>>>>>> Let's try the build.xml part again: >>>>>>> >>>>>>> <!-- Cactify the WAR --> >>>>>>> <target name="cactify-war" depends="-copy-cactus-tests,dist"> >>>>>>> <cactifywar destfile="${dist.dir}/${cactus.war}" >>>>>>> srcfile="${dist.war}"> >>>>>>> <servletredirector/> >>>>>>> <servletredirector name="${cactus.servlet.redirector}" >>>>>>> mapping="/${cactus.servlet.redirector}" roles="test,admin"/> >>>>>>> <filterredirector >>>>>>> mapping="/${cactus.webapp.context}/${cactus.filter.redirector}"/> >>>>>>> <jspredirector >>>>>>> mapping="/${cactus.webapp.context}/${cactus.jsp.redirector}"/> >>>>>>> </cactifywar> >>>>>>> <delete failonerror="false" includeEmptyDirs="true"> >>>>>>> <fileset dir="${basedir}" includes="cactus*"/> >>>>>>> </delete> >>>>>>> </target> >>>>>>> >>>>>>> On Wed, 04 Jun 2008 06:15:18 -0600, Keith R. Davis >>>>>>> <[EMAIL PROTECTED]> wrote: >>>>>>> >>>>>>> >>>>>>>> Thanks for the quick response! See my answers below and here is >>>>>>>> >>>>>>>> >>>>>>> the >>> >>> >>>> important bit of my build.xml and as I said before, the task never >>>>>>>> inserts the filterredirector: >>>>>>>> >>>>>>>> * * * * >>>>>>>> >>>>>>>> >>>>>>> * >>>>>> >>>>>> >>>>>>> * >>>>>>> >>>>>>> >>>>>>>> * * * >>>>>>>> >>>>>>>> >>>>>>> * >>>>>> >>>>>> >>>>>>> * * >>>>>>>> -- Begin properties for the above -- >>>>>>>> >>>>>>>> cactus.host = http://localhost cactus.port = 8080 >>>>>>>> cactus.webapp.context = openeprs-svcs cactus.service = RUN_TEST >>>>>>>> cactus.servlet.redirector = ServletRedirectorSecure >>>>>>>> cactus.jsp.redirector = JspRedirector cactus.filter.redirector = >>>>>>>> FilterRedirector cactus.war = cactus-test.war >>>>>>>> >>>>>>>> -- End properties for the above -- >>>>>>>> >>>>>>>> What is your Cactus version that you use? 1.8.0 (binary dist from >>>>>>>> Apache) >>>>>>>> What version of Ant you use? 1.7.0 >>>>>>>> What is your JVM version and operating System? Ubuntu Linux 8.04 >>>>>>>> with JDK 1.6.0_06 >>>>>>>> On Wed, 4 Jun 2008 09:41:25 +0300, "Petar Tahchiev" wrote: Hi >>>>>>>> Keith, >>>>>>>> the short answer is Yes. You >>>>>>>> should be able to test Filters with >>>>>>>> Servlet API 2.5. >>>>>>>> We do it in the sample projects that come with Cactus. >>>>>>>> What is your Cactus version that you use? >>>>>>>> What version of Ant you use? >>>>>>>> What is your JVM version and operating System? >>>>>>>> Please post your build.xml here to see what is wrong with it. >>>>>>>> Also have a look at the Cactus SVN repository - we have sample >>>>>>>> applications that execute filter tests, and they work. >>>>>>>> Thanks, Petar. >>>>>>>> 2008/6/4 Keith R. Davis : >>>>>>>> All, >>>>>>>> I am using Glassfish V2UR2 and my web application is using >>>>>>>> >>>>>>>> >>>>>>> version >>> >>> >>>> 2.5 of the servlet API. I have basic Cactus servlet tests >>>>>>>> >>>>>>>> >>>>>>> working, >>> >>> >>>> however I cannot get filter tests to work. I think this has to do >>>>>>>> with the cactifywar ant task not adding the filter redirector to >>>>>>>> >>>>>>>> >>>>>>> the >>> >>> >>>> web.xml. I have one defined in the task, but it doesn't show up >>>>>>>> >>>>>>>> >>>>>>> when >>> >>> >>>> the war is cactified. >>>>>>>> The short question, can I test filters with 2.5 of the servlet >>>>>>>> >>>>>>>> >>>>>>> API? >>> >>> >>>> Everything else seems to work fine except filters. I did see >>>>>>>> >>>>>>>> >>>>>>> older >>> >>> >>>> threads on the list that >>>>>>>> servlets using 2.4 and greater of the API >>>>>>>> were not supported. Has this been updated? >>>>>>>> Finally if I am being an idiot and it is not supported, is there >>>>>>>> >>>>>>>> >>>>>>> a >>> >>> >>>> workaround or another tool that can test filters in container with >>>>>>>> >>>>>>>> >>>>>>> the >>>>> >>>>> >>>>>> newest servlet APIs. >>>>>>>> Thanks! >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> --------------------------------------------------------------------- >>> >>> >>>> To unsubscribe, e-mail: >>>>>>>> >>>>>>>> >>>>>>> [EMAIL PROTECTED] >>> >>> >>>> [2] >>>>>>>> For additional commands, e-mail: >>>>>>>> >>>>>>>> >>>>>>> [EMAIL PROTECTED] >>>> >>>> >>>>> [3] >>>>>>>> -- >>>>>>>> Regards, Petar! >>>>>>>> Karlovo, Bulgaria. >>>>>>>> - - - - - - - - >>>>>>>> | Author @ Manning Publications. >>>>>>>> | Technical Consultant @ HP >>>>>>>> | BGJUG-Bulgarian Java User Group Leader. >>>>>>>> | Apache Jakarta PMC member. >>>>>>>> | Jakarta Cactus Lead Developer. >>>>>>>> | Blogger: http://weblogs.java.net/blog/paranoiabla/ [4] >>>>>>>> - - - - - - - - >>>>>>>> Public PGP Key at: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611 >>> >>> >>>> [5] >>>>>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 >>>>>>>> >>>>>>>> >>>>>>> 0611 >>> >>> >>>> >>>>>>>> Links: >>>>>>>> ------ >>>>>>>> [1] >>>>>>>> mailto:[EMAIL PROTECTED] >>>>>>>> [2] mailto:[EMAIL PROTECTED] >>>>>>>> [3] mailto:[EMAIL PROTECTED] >>>>>>>> [4] http://weblogs.java.net/blog/paranoiabla/ >>>>>>>> [5] >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611 >>> >>> >>>> >>>>>>> >>>>>>> >>>>>> --------------------------------------------------------------------- >>> >>> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>>> Regards, Petar! >>>>>> Karlovo, Bulgaria. >>>>>> - - - - - - - - >>>>>> | Author @ Manning Publications. >>>>>> | Technical Consultant @ HP >>>>>> | BGJUG-Bulgarian Java User Group Leader. >>>>>> | Apache Jakarta PMC member. >>>>>> | Jakarta Cactus Lead Developer. >>>>>> | Blogger: http://weblogs.java.net/blog/paranoiabla/ >>>>>> - - - - - - - - >>>>>> Public PGP Key at: >>>>>> >>>>>> >>>>>> >>>>> >>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611 >>> >>> >>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611 >>>>>> >>>>>> >>>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>>> >>> -- >>> Regards, Petar! >>> Karlovo, Bulgaria. >>> - - - - - - - - >>> | Author @ Manning Publications. >>> | Technical Consultant @ HP >>> | BGJUG-Bulgarian Java User Group Leader. >>> | Apache Jakarta PMC member. >>> | Jakarta Cactus Lead Developer. >>> | Blogger: http://weblogs.java.net/blog/paranoiabla/ >>> - - - - - - - - >>> Public PGP Key at: >>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611 >>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611 >>> >>> >> > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Regards, Petar! Karlovo, Bulgaria. - - - - - - - - | Author @ Manning Publications. | Technical Consultant @ HP | BGJUG-Bulgarian Java User Group Leader. | Apache Jakarta PMC member. | Jakarta Cactus Lead Developer. | Blogger: http://weblogs.java.net/blog/paranoiabla/ - - - - - - - - Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611 Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611