Finally, it seems that I made it work on iPlanet 6.5 iAS (not Web server).
iPlanet comes with jaxp.jar and parser.jar files in its classpath, which are located in <install-dir>\ias6\ias\classes\java\jaxp folder. I thought that I can remove these files, but it seems that iPlanet is configured (or hardcoded) somehow, that it tries to load the particular Parser from those jars. I didn't figure out yet how to change that in order to make it work with any parser in the classpath. The parser they use is from Sun, it doesn't implement some methods, which breakes Cocoon with NoSuchMethodError run-time error. So, I put xercesXXX.jar and xml-apis.jar from Cocoon's WEB-INF/lib in the beginning of the classpath. The iPlanet classpath is edited by kregedit utility, the kay is "\SOFTWARE\iPlanet\Application Server\6.5\Java\ClassPath". The above two jars must come before jaxp.jar and parser.jar, indeed. Then I built the cocoon.war file. In addition to web.xml, iPlanet needs ias-web.xml file in WEB-INF folder. You have to create it yourself, here's the sample: ============ START ias-web.xml ============ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ias-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD iAS Web Application 1.0//EN' 'http://developer.iplanet.com/appserver/dtds/IASWebApp_1_0.dtd'> <ias-web-app> <servlet> <servlet-name>Cocoon2</servlet-name> <guid>{F3F92B34-D2D9-4FFE-A961-CC25A15FC3FA}</guid> <servlet-info> <sticky>false</sticky> <encrypt>false</encrypt> <number-of-singles>10</number-of-singles> <disable-reload>false</disable-reload> </servlet-info> </servlet> <session-info> <impl>lite</impl> <dsync-type>dsync-distributed</dsync-type> <timeout-type>last-access</timeout-type> <secure>false</secure> <domain></domain> <path></path> <scope></scope> </session-info> </ias-web-app> ============ END ias-web.xml ============ The most interesting thing is <guid> element. iPlanet requires GUID for every servlet to be run. There's a utility called "kguidgen", it generates GUID for you. As for the rest of the elements, I've no clue about them :) I suspect they are not required at all. To deploy Cocoon, I used the following command: iasdeploy deploymodule -verbose cocoon.war If it's successfully deployed, then you can launch it with http://localhost/NASApp/cocoon/ In my configuration I have both iPlanet Web Server and App Server installed. So, "NASApp" is the context for apps deployed on App server. Apparently the war file name becomes the servlet's context if you deploy it as a module. You can also deploy Cocoon as an application. To do that you simply package it in "ear" file. Here's nothing fancy, no vendor specific files, just ordinary "application.xml" in META-INF. thanks, Argyn I'm not an expert in iPlanet (YET), so excuse inaccuracies, if any. --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>