You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Steve Philp <sp...@ameritech.net> on 2001/11/26 00:51:52 UTC

AbstractMethodError when attempting to use a SQL page

Hello,

I'm new to Cocoon 2 and I'm hoping someone can point out where I've gone
astray in creating my first SQL processor page.  I've checked the
mailing list archives, but didn't find anything specific to this type of
problem.

I've built and installed the RC2 package into both the Tomcat 4.0.1 and
Resin 2.0.3 containers.  The sample pages all seem to work well.

After playing around, I made modifications to the datasources section of
cocoon.xconf and included the following:

	<jdbc name="personnel">
	  <pool controller min="5" max="10"/>
	  <dburl>jdbc:sqlbase://my_ip:2155/my_db</dburl>
	  <user>my_user</user>
	  <password>my_password</password>
	</jdbc>

I've verified the dburl as correct against a working setup in Resin.  

I then modified web.xml and set the following:

	<init-param>
	  <param-name>load-class</param-name>
	  <param-value>com.centurasoft.java.sqlbase.SqlbaseDriver</param-value>
	</init-param>

After that, I placed sqlbase.jar into the WEB-INF/lib directory and
restarted Tomcat.  Since I left the JDBC name as default, I didn't make
any changes to the reference in sitemap.xmap.

Startup appears to work correctly, and I see the 5 database connections
listed in the SQLBase connection listing.

Next, I modified the docs/sample/sql/sql-page.xml to reflect the query
I'd like to test with.  The page now looks like:

	<?xml version="1.0"?>
	<page xmlns:sql="http://apache.org/cocoon/SQL/2.0">
	  <title>Hello</title>
	  <content>
	    <para>This is my first Cocoon2 page filled with sql data!</para>
	    <execute-query xmlns="http://apache.org/cocoon/SQL/2.0">
	      <query>select emid,emfname from employee</query>
	    </execute-query>
	  </content>
	</page>

Then I modified the stylesheets/simple-sql2html.xsl and replaced the
existing "id" and "name" with "emid" and "emfname".

When I attempt to view the SQL page, I end up with the following
errorset (the error occurs on both Tomcat and Resin):

java.lang.AbstractMethodError:
centura/java/sqlbase/SqlbaseConnection.prepareStatement
        at
org.apache.avalon.excalibur.datasource.JdbcConnection.prepareStatement(Unknown
Source)
        at
org.apache.cocoon.transformation.SQLTransformer$Query.execute(SQLTransformer.java:923)
        at
org.apache.cocoon.transformation.SQLTransformer.executeQuery(SQLTransformer.java:266)
        at
org.apache.cocoon.transformation.SQLTransformer.endExecuteQueryElement(SQLTransformer.java:398)
        at
org.apache.cocoon.transformation.SQLTransformer.endElement(SQLTransformer.java:632)
        at
org.apache.cocoon.components.sax.XMLTeePipe.endElement(XMLTeePipe.java:81)
        at
org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
        at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
        at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1204)
        at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
        at
org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
        at
org.apache.cocoon.components.parser.JaxpParser.parse(JaxpParser.java:100)
        at
org.apache.cocoon.components.source.URLSource.toSAX(URLSource.java:327)
        at
org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:109)
        at
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:210)
        at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:359)
        at
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN40040B(sitemap_xmap.java:6645)
        at
org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2853)
        at
org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2442)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:163)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:114)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:514)
        at
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
Source)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContext.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardHostValve.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at org.apache.catalina.valves.AccessLogValve.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at
org.apache.catalina.connector.http.HttpProcessor.process(Unknown Source)
        at org.apache.catalina.connector.http.HttpProcessor.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:498)

Thank you for any help you can provide in getting this working.  Cocoon
looks like a great product and I can't wait to make use of it.

--
Steve Philp
Advance Packaging Corporation
sphilp@ameritech.net

---------------------------------------------------------------------
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: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>