It looks to me like your ObjectCreate rule is incorrect... I believe the class you reference must be the fully-qualified name. For instance, look at this source as an example:

http://cvs.sourceforge.net/viewcvs.py/javawebparts/javawebparts/WEB-INF/src/javawebparts/taglib/ajaxtags/AjaxInit.java?view=markup

Here you see lines like:

digester.addObjectCreate("ajaxConfig/handler",
  "javawebparts.taglib.ajaxtags.config.AjaxHandler");

Although I can't find anyplace in the documentation where it's explicitly stated (I'm betting I'm just missing it though), looking at the Digester Javadoc here:

http://jakarta.apache.org/commons/digester/commons-digester-1.7/docs/api/

The example code also shows fully-qualified names. The same looks to be true of setNext by the way, and I suspect anywhere a class name is required.

Give that a try and see if it solves your problem. I can tell you wish certainty that I've used Digester in a servlet under Tomcat and not had any problems.

Frank

Marc Farrow wrote:
I have no knowledge of digesters, but if you are wanting Tomcat (the engine
itself) to use a class, then it has to be in the common/lib folder and not
deployed with the webapp.   Not sure if this is the direction you want to go
or not.

hth


On 4/23/06, Christopher Piggott <[EMAIL PROTECTED]> wrote:

Hi,

My goal is to use digester within a servlet, to parse a configuration
file.
When running within the servlet context digester is unable to find the
classes specified by my rules.  For example, I have this set of rules to
process an element <xdb-config> which occurs within a <config> element:

  digester.addObjectCreate("config/xdb-config", XdbConfig.class);
  digester.addSetProperties("config/xdb-config", "database-name",
"databaseName");
  digester.addSetNext("config/xdb-config", "addXdbConfig", "XdbConfig");

What I get is this:

Apr 23, 2006 10:21:29 PM org.apache.commons.digester.CallMethodRule
setDigester
SEVERE: (CallMethodRule) Cannot load class XdbConfig
java.lang.ClassNotFoundException: XdbConfig


I get this other places as well.  One of the things I find odd is that
this
error occurs after the above one in the error log:

Apr 23, 2006 10:21:29 PM org.apache.commons.digester.CallMethodRule
setDigester
SEVERE: (CallMethodRule) Cannot load class Config
java.lang.ClassNotFoundException: Config


Basically, the class loader seems to be able to load my classes from
within
my own classes, but NOT from the digester.  What I don't understand is how
that's possible when the required classes are clearly within the
classpath;
I upload them to tomcat as a .war and they are all exploded into
WEB-INF/classes.  I can't see how this could not be in the classpath and
therefore not found by the digester.

--Chris



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Marc Farrow

--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM: fzammetti
Yahoo: fzammetti
MSN: [EMAIL PROTECTED]
Java Web Parts -
http://javawebparts.sourceforge.net
Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to