You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Ed Knutson <ed...@webcombo.net> on 2000/03/09 19:18:46 UTC

Using Cocoon with virtual hosts

Config: Apache 1.3.12 w/ JServ 1.1 (static), Cocoon 1.6.1

I have a server set up named athena.  On athena, there is a virtual host,
www, whose document root is in the webcombo folder of the base host's
document root.  For html files, the url
http://athena.webcombo.net/webcombo/index.html is equivalent to
http://www.webcombo.net/index.html.

I have an xml folder in webcombo's doc root.  The url
http://athena.webcombo.net/webcombo/xml/phone/phonelist.xml?state=wi returns
the correct, Cocoon formatted document.  However,
http://www.webcombo.net/xml/phone/phonelist.xml?state=wi returns a Cocoon
error screen saying, basically, that the file
/servlet/org.apache.cocoon.Cocoon can not be found.  The stack trace is:

java.io.FileNotFoundException: /servlet/org.apache.cocoon.Cocoon
 at java.io.FileInputStream.(Compiled Code)
 at java.io.FileInputStream.(Compiled Code)
 at org.apache.cocoon.producer.ProducerFromFile.getStream(Compiled Code)
 at org.apache.cocoon.producer.AbstractProducer.getDocument(Compiled Code)
 at org.apache.cocoon.Engine.handle(Compiled Code)
 at org.apache.cocoon.Cocoon.service(Compiled Code)
 at javax.servlet.http.HttpServlet.service(Compiled Code)
 at org.apache.jserv.JServConnection.processRequest(Compiled Code)
 at org.apache.jserv.JServConnection.run(Compiled Code)
 at java.lang.Thread.run(Compiled Code)

ApJServMountCopy is on.  I even went so far as to add Action and AddHandler
lines to the VirtualHost block identical to the lines in jserv.conf.  It
seems like the Action/AddHandler lines function correctly for the base host,
but somehow for the virtual host they pass the URI for cocoon instead of the
name of the xml source file.  This happens whether there are an extra set of
Action lines in the virtual host or not.  How else would Cocoon generate a
message saying it can not find itself?  (What a sign of the times, eh?)

Seriously, I have another servlet which functions correctly under this
virtual host.  It is a direct call, however; this other servlet is not an
action handler.  So, I know I have JServ set up correctly, I know Cocoon
works properly under the base host, I have Cocoon running under Tomcat on
another server (ares)....  I am almost positive I set everything up by the
book.  Is there some sort of bug that makes what I'm trying to do
impossible?

I don't want to put Tomcat on this server because it has a tendency to spawn
dozens of threads, versus JServ's usual dozen.  Currently, I have
mod_rewrite mapping http://www.webcombo.net/localaccess/xx.html to
http://ares.webcombo.net:8080/cocoon/phone/phonelist.xml?state=xx.  My goal
is to be able to access Cocoon from the www virtual host so I can just make
a transparent AliasMatch instead of a pesky RewriteRule.


Ed Knutson
Webmaster
webCOMBO.net