cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Garner <pgar...@biostat.ufl.edu>
Subject Problem with Cocoon 1.7 Installation
Date Tue, 07 Mar 2000 03:19:02 GMT
I have tried to get Cocoon v1.7 installed for two days now before
emailing this listserv so I could try to do it on my own, but I can't
solve this problem.  If the solution is simple please forgive my
ignorance as I am a newbie.  

I have the following setup:
Red Hat Linux 6.1
Apache 1.3.9
JDK 1.2.2
Jserv 2.1 
All of the above have been successfully installed and are working.

/etc/httpd/conf/jserv/jserv.properties looks like this:

wrapper.classpath=/usr/lib/apache/ApacheJServ.jar
wrapper.classpath=/home/httpd/classes/servlet-2.0.jar
wrapper.classpath=/usr/local/jsdk2.1/servlet.jar
wrapper.classpath=/usr/local/jsdk2.1/server.jar
wrapper.classpath=/usr/local/jdk1.2.2/src.jar
wrapper.classpath=/usr/lib/pgsql/jdbc6.5-1.2.jar
wrapper.classpath=/usr/local/cocoon/bin/cocoon.jar
wrapper.classpath=/usr/local/cocoon/lib/xerces_1_0_1.jar
wrapper.classpath=/usr/local/cocoon/lib/xalan_0_19_4.jar
wrapper.classpath=/usr/local/cocoon/lib/fop_0_12_1.jar



I am unable to run /usr/local/cocoon/build.sh without errors.  The error
messages are as follows:

*******************************************************************
Cocoon Build System
-------------------

Building with classpath
/usr/local/jsdk2.1/servlet.jar:/usr/lib/pgsql/jdbc6.5-1.
2.jar:.:/usr/local/jdk1.2.2/lib/tools.jar:./lib/xerces_1_0_1.jar:./lib/xalan_0_1
9_4.jar:./lib/fop_0_12_1.jar:./lib/servlet_2_2.jar:./lib/ant.jar:./lib/xml.jar

Starting Ant...

Buildfile: build.xml
Detected Java Version: 1.2
Project base dir set to: /usr/local/cocoon
------------------- Cocoon 1.7 [1999-2000] ----------------
Executing Target: prepare
Executing Target: prepare-xt
Executing Target: prepare-ecma
Executing Target: prepare-ldap
Executing Target: prepare-src
Executing Target: compile
Compiling 5 source files to /usr/local/cocoon/build/classes
/usr/local/cocoon/build/src/org/apache/cocoon/processor/xsp/library/XSPSessionLi
brary.java:107: Method getAttribute(java.lang.String) not found in
interface javax.servlet.http.HttpSession.
    Object value = session.getAttribute(name);
                                       ^
/usr/local/cocoon/build/src/org/apache/cocoon/processor/xsp/library/XSPSessionLi
brary.java:130: Method getAttributeNames() not found in interface
javax.servlet.http.HttpSession.
    Enumeration e = session.getAttributeNames();
                                             ^                     
/usr/local/cocoon/build/src/org/apache/cocoon/processor/xsp/library/XSPResponseL
ibrary.java:77: Method getLocale() not found in interface
javax.servlet.http.Htt
pServletResponse.
    Locale locale = response.getLocale();
                                      ^
/usr/local/cocoon/build/src/org/apache/cocoon/processor/xsp/library/XSPResponseL
ibrary.java:97: Method addDateHeader(java.lang.String, long) not found
in interface javax.servlet.http.HttpServletResponse.
    response.addDateHeader(name, date);

.
.
.
etc. etc. etc.
.
.
.

Note: /usr/local/cocoon/build/src/org/apache/cocoon/Utils.java uses or
overrides

*******************************************************************

I notice that although the missing methods are not found in
HttpServletRequest, there is an EngineWrapper class located in 
/usr/local/cocoon/build/src/org/apache/cocoon/EngineWrapper.java that
uses HttpServletRequest and gives to it the above methods that are
"missing":

/**
 * This class implements wrapping methods that allow the engine to be
 * called even from other APIs or standalone applications.
 *
 * NOTE: this is a dirty hack and I know it. The problem is that Cocoon
is
 * a servlet and the servlet API are not that easy to deal with when you
 * enter other modes of operation (like command line or RMI).
 * 
 * We will need to clean this up and remove the need of direct 
 * HttpServletRequest/Response emulation when we integrate with
Stylebook.
 * But I have more important stuff to do right now.
 *
 * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
 * @version $Revision: 1.9 $ $Date: 2000/02/13 18:29:16 $
 */

.
.
.

    /**
     * Dummy implementation of the HttpServletRequest class to create a 
     * fake but funtional request for the main engine.
     * NOTE: this works only with the default file producer.
     */
    public class HttpServletRequestImpl implements HttpServletRequest {
        
        private String path = "/";
        private String document = null;
        
        public HttpServletRequestImpl(File path) {
            this(path, null);
        }

        public HttpServletRequestImpl(File path, String document) {
            if (path != null) {
                this.path = path.toString();
            }
            
            if (document != null) {
                this.document = document;
            }
        }

      
HERE ARE ALL THE MISSING METHODS: --ed


        public Enumeration getParameterNames() { return null; }
        public String[] getParameterValues(String name) { return null; }
        public int getContentLength() { return -1; }
        public String getContentType() { return null; }
        public String getProtocol()  { return "none"; }
        public String getScheme() { return "none"; }
        public String getServerName() { return Cocoon.version(); }
        public int getServerPort() { return -1; }
        public String getRemoteAddr() { return null; }
        public String getRemoteHost() { return null; }
        public ServletInputStream getInputStream() throws IOException {
return null; }
        public Object getAttribute(String name) { return null; }
        public String getCharacterEncoding () { return null; }
        public Cookie[] getCookies() { return null; }
        public String getMethod() { return null; }
        public String getRequestURI() { return null; }
        public String getServletPath() { return null; }
        public String getQueryString() { return null; }
        public String getRemoteUser() { return null; }
        public String getAuthType() { return null; }
        public String getHeader(String name) { return null; }
        public int getIntHeader(String name) { return -1; }
        public long getDateHeader(String name) { return -1; }
        public Enumeration getHeaderNames() { return null; }
        public HttpSession getSession(boolean create) { return null; }
        public String getRequestedSessionId() { return null; }
        public boolean isRequestedSessionIdValid() { return false; }
        public boolean isRequestedSessionIdFromCookie() { return false;
}
        public boolean isRequestedSessionIdFromURL() { return false; }
        public Enumeration getAttributeNames() { return null; }
        public void setAttribute(String name, Object value) {}
        public void removeAttribute(String name) {}
        public Locale getLocale() { return null; }

What do I need to do?  Is there a classpath that I need to add?  I
greatly appreciate any help!

--Pat Garner

Mime
View raw message