cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Argyn Kuketayev <Argyn.Kuketa...@plateau.com>
Subject C2.0.3 Deployment on iPlanet 6.5 tips
Date Thu, 06 Jun 2002 18:22:38 GMT
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: <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail: <cocoon-users-help@xml.apache.org>


Mime
View raw message