You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by sameer nanda <sa...@rediffmail.com> on 2004/05/07 01:47:12 UTC

Help with Cocoon 2.1.2 + MySQL 3.23.58

Hello Everybody ....

I am having problems with integrating my application using Cocoon 2.1.2 and MySQL 3.23.58. I read a lot of questionaries realted to this topic
but could not find anything reletaing to the problem I am having .  lets start with the environment in which I am working.

System Specification:
-------------------------
1) Cocoon 2.1.2
-> downloaded the latest source version and installed using
            1) build cocoon using "build"
            2) run cocoon using "cocoon servlet" or "./cocoon.sh servlet"
            3) http://ip-add:8888  points to the welcome page of cocoon


2) MySQL 3.23.58
3) JDK 1.4.0
4) Apache 2.0.43
5) Tomcat 4.0.4b1

Following is the step by step procedure I followed trying to build an application to access database:

Steps:
--------
1)  copy the driver jar ( mm.mysql-2.0.13-bin.jar) file in  cocoon-context:/build/webapp/WEB-INF/lib

2) Defined a MySQL datasource in web.xml
   <init-param>
      <param-name>load-class</param-name>
      <param-value>
        <!-- For parent ComponentManager sample: -->
        org.apache.cocoon.samples.parentcm.Configurator
        <!-- For IBM WebSphere: -->
        com.ibm.servlet.classloader.Handler

        <!-- For HSQLDB Database Driver: -->
        org.hsqldb.jdbcDriver

        <!-- For MYSQL Database Driver (included by me) -->
        org.gjt.mm.mysql.Driver

</param-value>
    </init-param>

3) Add a connection to MySQL in cocoon.xconf
<jdbc logger="core.datasources.adhportal" name="adhportal">
        <pool-controller max="10" min="5"/>
        <dburl>jdbc:mysql://portal.cis.umassd.edu/adh</dburl>
        <user>adh</user>
        <password>password</password>
    </jdbc>

4) Include pipeline in sitemap.xmap
<map:match pattern="sqldocument">
                <map:generate src="sql/sqlexample.xml"/>
                <map:transform type="sql">
                        <map:parameter name="use-connection" value="adhportal"/>
                </map:transform>
                <map:transform type="log">
                        <map:parameter name="logfile" value="logfile.log"/>
                        <map:parameter name="append" value="no"/>
                </map:transform>
                <map:transform src="sql/sqlexample.xsl"/>
                <map:serialize type="xml"/>
        </map:match>


5) XML file looks like this:
<?xml version="1.0"?>
<document>
        <sql:execute-query xmlns:sql="http://apache.org/cocoon/SQL/2.0">
                <sql:use-connection>adhportal</sql:use-connection>
                <sql:query>
                        select * from emp
                </sql:query>
        </sql:execute-query>
</document>


6) XSL looks something like this:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sql="http://apache.org/cocoon/SQL/2.0">

<xsl:template match="document">
        <html><body><table>
                <xsl:apply-templates select="sql:rowset/sql:row"/>
        </table></body></html>
</xsl:template>

<xsl:template match="sql:row">
        <tr>
                <xsl:apply-templates/>
        </tr>
</xsl:template>

<xsl:template match="sql:empNo">
        <td>
                <xsl:value-of select="."/>
        </td>
</xsl:template>

<xsl:template match="sql:empName">
        <td>
                <xsl:value-of select="."/>
        </td>
</xsl:template>

<xsl:template match="sql:empSal">
        <td>
                <xsl:value-of select="."/>
        </td>
</xsl:template>

</xsl:stylesheet>



But insted of the expected outout in the form of Rows fetched from the table ,  I get a blank page, and following is the message
I get in the logfile.log file :

================================================================================================

[setup] ---------------------------- [Wed May 05 14:51:29 EDT 2004] ----------------------------
[setDocumentLocator] systemid=file:/home/g_snanda/cocoon-2.1.2/build/webapp/sql/sqlexample.xml,publicid=
[startDocument]
[startElement] uri=,local=document,raw=document
[characters]

[startPrefixMapping] prefix=sql,uri=http://apache.org/cocoon/SQL/2.0
[characters]

[characters]

[characters]

[startPrefixMapping] prefix=,uri=http://apache.org/cocoon/SQL/2.0
[startElement] uri=http://apache.org/cocoon/SQL/2.0,local=rowset,raw=rowset
[startElement] uri=http://apache.org/cocoon/SQL/2.0,local=error,raw=error
[characters] Failed to obtain connection. Made 5 attempts with 5000ms interval
[endElement] uri=http://apache.org/cocoon/SQL/2.0,local=error,qname=error
[endElement] uri=http://apache.org/cocoon/SQL/2.0,local=rowset,qname=rowset
[endPrefixMapping] prefix=
[endPrefixMapping] prefix=sql
[characters]

[endElement] uri=,local=document,qname=document
[endDocument]

================================================================

This is what I see in the access.log file, but I have no idea whats
wrong


WARN    (2004-05-05) 21:09.19:654  [access] (Unknown-URI) Unknown-thread/CocoonServlet: Could not force-load class: com.ibm.servlet.classloader.Handler
java.lang.ClassNotFoundException: com.ibm.servlet.classloader.Handler
        at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
        at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:234)
        at org.mortbay.http.ContextLoader.loadClass(ContextLoader.java:198)
        at org.apache.cocoon.util.ClassUtils.loadClass(ClassUtils.java:88)
        at org.apache.cocoon.servlet.CocoonServlet.forceLoad(CocoonServlet.java:937)
        at org.apache.cocoon.servlet.CocoonServlet.createCocoon(CocoonServlet.java:1342)
        at org.apache.cocoon.servlet.CocoonServlet.init(CocoonServlet.java:507)
        at org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:219)
        at org.mortbay.jetty.servlet.ServletHandler.initializeServlets(ServletHandler.java:436)
        at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:150)
        at org.mortbay.jetty.servlet.WebApplicationContext.start(WebApplicationContext.java:442)
        at org.mortbay.http.HttpServer.start(HttpServer.java:647)
        at org.mortbay.jetty.Server.main(Server.java:429)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at Loader.invokeMain(Unknown Source)
        at Loader.run(Unknown Source)
        at Loader.main(Unknown Source)
INFO    (2004-05-05) 21:09.19:723  [access] (Unknown-URI) Unknown-thread/CocoonServlet: Reloading from: file:/home/g_snanda/cocoon-2.1.2/build/webapp/WEB-INF/cocoon.xconf

=======================================================================

Can anyone figure it out whats wrong ??? Thanks in advance and let me know if you need anything else.

Looking forward for your help


With Regards
Sam