Hi All, I'm a new Cocoon user and I've come across and I'm having a really bizarre problem at the moment which has stopped my site development in it's tracks. I originally posted this messge to the Cocoon mailing list but as seems the problem might be Tomcat related I thought I'd try here too.
I've got Apache/Tomcat/Cocoon set-up and have got the Tomcat and Cocoon samples running just fine. I've set-up a virtual server with it's own docroot and made a simple "HelloWorld" servlet and XML/XSLT test and again, those work both fine. However, I've now started setting up my pipelines/matchers and a really strange thing is happening. As a test, I've put "helloworld.xml" and its associated xsl file in docroot and set-up a matcher so that and request for /*.jhtml effectively loads and transforms that file. This works fine. However, if I then make a subdirectory of docroot and place the same xml/xsl there and set-up a matcher for that, absolutely nothing happens. Instead I just get a Tomcat 404 page. I've been scratching my head over this for a week and what appears to be the problem is that Tomcat is definately passing requests for documents in docroot to cocoon but NOT for any sub-directories. The way I tested was as follows: Test 1: Created files: docroot/helloworld.xml docroot/helloworld.xsl Matcher: <map:match pattern="*.jhtml"> <map:generate src="helloworld.xml"/> <map:transform src="helloworld.xsl"/> <map:serialize type="html"/> </map:match> Request: http://test.domain/randomfilename.jhtml Result: "Hello World!" Test 2: Create files: docroot/main/helloworld.xml docroot/main/helloworld.xsl Matcher: <map:match pattern="/main/*.jhtml"> <map:generate src="/main/helloworld.xml"/> <map:transform src="/main/helloworld.xsl"/> <map:serialize type="html"/> </map:match> Request: http://test.domain/main/randomfilename.jhtml Result: Tomcat 404 error message Test 3: Remove files: docroot/helloworld.xml docroot/helloworld.xsl Matcher: <map:match pattern="*.jhtml"> <map:generate src="helloworld.xml"/> <map:transform src="helloworld.xsl"/> <map:serialize type="html"/> </map:match> Request: http://test.domain/randomfilename.jhtml Result: Coccon 404 error message as defined in <map:handle-errors> I have DEBUG level set in logkit and watched what was happening when I made requests. mod_jk was intercepting the request from apache and matching it with a worker and passing it to Tomcat. For requests for documents in docroot, Tomcat was passing them to cocoon as the requests and processing can be seen in the sitemap.log file. However, when a request is made for a file in a sub-directory of docroot, there is zero activity in sitemap.log - the request just never gets there! I am *completely* baffled. I believe I have the various components configured correctly but as stated, Tomcat will not pass requests for sub-dirs to Cocoon. Can anyone shed any light on this? - Jed Heres the pertinent extracts from the various configs: Apache - http.conf: <VirtualHost *:80> DocumentRoot /usr/local/apache/share/saab_current/htdocs/ ServerName test.domain Options FollowSymLinks +Indexes <Directory /usr/local/apache/share/htdocs> Options +Indexes </Directory> DirectoryIndex index.jhtml index.html index.xml JkMount /*.shtml xmlworker JkMount /main/*.jhtml xmlworker </VirtualHost> Tomcat - server.xml <Engine name="Catalina" defaultHost="test.domain" cachingAllowed="true" debug="9"> <Host name="test.domain" debug="9" appBase="/usr/local/apache/share/htdocs" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context debug="9" reloadable="true" path="" docBase="/usr/local/apache/share/htdocs" /> </Host> </Engine> Tomcat - workers.properties # XML worker worker.xmlworker.port=8009 worker.xmlworker.host=localhost worker.xmlworker.type=ajp13 Cocoon - sitemap.xmap <map:match pattern="*.jhtml"> <map:generate src="pageOne.xml"/> <map:transform src="doc2html.xsl"/> <map:serialize type="html"/> </map:match> <map:match pattern="/main/*.jhtml"> <map:generate src="/main/pageTwo.xml"/> <map:transform src="/main/doc2html.xsl"/> <map:serialize type="html"/> </map:match> My set-up is: Fedora Core 6 Apache/2.2.8 mod_jk 1.2.26 Tomcat 5.5.26 Cocoon 2.1.11 Sun JDK 1.6.0_05-b13 --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]