CannotResolveClassException in tomcat in eclipse

View: New views
2 Messages — Rating Filter:   Alert me  

CannotResolveClassException in tomcat in eclipse

by Peter Weinstein :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi,

I'm new to Xstream, love the product, but am pulling out my remaining
hair trying to help it find my class for unmarshalling. I'm getting
CannotResolveClassException when calling fromXML(). My code is in a
servlet running in Tomcat 6 in Eclipse. I have already tried:

-- explicitly setting the class loader in a couple of ways

-- placing the Multiplication class in a jar and telling Eclipse to
stick it under WEB-INF lib using the Java EE Module Dependencies
property (the same technique that tells tomcat how to find Xstream).

I appreciate your help!

Here is the relevant code snippet, including some stuff to try to
figure out the problem:

// pull XML input into a java object with XStream
// test this class's class loader
Multiplication testmult = new Multiplication();
String undef = testmult.getProduct();
System.out.println("ordinary access to multiplication class: default
product is " + undef);

XStream xstream = new XStream();
// tell xstream to use the same class loader as this class
xstream.setClassLoader(this.getClass().getClassLoader());
// also tried:
// xstream.setClassLoader(Thread.currentThread().getContext
ClassLoader());
Multiplication mult = (Multiplication)xstream.fromXML(xml);

Here is my Tomcat console:

Oct 9, 2009 10:43:31 AM org.apache.tomcat.util.digester.
SetPropertiesRule
begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context}
Setting
property 'source' to 'org.eclipse.jst.j2ee.server:BeWellBackend'
did not find
 a matching property.
Oct 9, 2009 10:43:31 AM org.apache.catalina.core.
AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows
optimal
performance in production environments was not found on the java.
library.path:
C:\Tools\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\
system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\
System32\Wbem;C:\Tools\QuickTime\QTSystem\
Oct 9, 2009 10:43:31 AM org.apache.coyote.http11.Http11Protocol
 init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Oct 9, 2009 10:43:31 AM org.apache.catalina.startup.Catalina
 load
INFO: Initialization processed in 1857 ms
Oct 9, 2009 10:43:32 AM org.apache.catalina.core.StandardService
 start
INFO: Starting service Catalina
Oct 9, 2009 10:43:32 AM org.apache.catalina.core.StandardEngine
 start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
Oct 9, 2009 10:43:34 AM org.apache.catalina.core.
ApplicationContext log
INFO: ContextListener: contextInitialized()
Oct 9, 2009 10:43:34 AM org.apache.catalina.core.
ApplicationContext log
INFO: SessionListener: contextInitialized()
Oct 9, 2009 10:43:34 AM org.apache.coyote.http11.
Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Oct 9, 2009 10:43:35 AM org.apache.jk.common.
ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Oct 9, 2009 10:43:35 AM org.apache.jk.server.
kMain start
INFO: Jk running ID=0 time=0/160  config=null
Oct 9, 2009 10:43:35 AM org.apache.catalina.startup.
Catalina start
INFO: Server startup in 3183 ms
<Multiplication><num1>7</num1><num2>8</num2></Multiplication>
xml = <Multiplication><num1>7</num1><num2>8</num2>
</Multiplication>
Oct 9, 2009 10:43:59 AM org.apache.catalina.core.
StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet BackendServlet
threw exception
com.thoughtworks.xstream.mapper.CannotResolveClassException:
 Multiplication :
Multiplication
        at
com.thoughtworks.xstream.mapper.DefaultMapper.realClass(
DefaultMapper.java:68)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass
(DynamicProxy
Mapper.java:71)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass
(Package
AliasingMapper.java:88)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass
(ClassAliasing
Mapper.java:86)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.ArrayMapper.realClass
(ArrayMapper.java:96)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass(
MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.MapperWrapper.realClass
(MapperWrapper.java:38)
        at
com.thoughtworks.xstream.mapper.CachingMapper.realClass(
CachingMapper.java:52)
        at
com.thoughtworks.xstream.core.util.HierarchicalStreams.
readClassType(
HierarchicalStreams.java:29)
        at
com.thoughtworks.xstream.core.TreeUnmarshaller.start
(TreeUnmarshaller.java:
136)
        at
com.thoughtworks.xstream.core.AbstractTreeMarshalling
Strategy.unmarshal(
AbstractTreeMarshallingStrategy.java:33)
        at com.thoughtworks.xstream.XStream.unmarshal
(XStream.java:923)
        at com.thoughtworks.xstream.XStream.unmarshal
(XStream.java:909)
        at com.thoughtworks.xstream.XStream.fromXML
(XStream.java:853)
        at com.thoughtworks.xstream.XStream.fromXML
(XStream.java:845)
        at com.bewellcommunication.BackendServlet.doGet
(BackendServlet.java:
62)
        at com.bewellcommunication.BackendServlet.doPost
(BackendServlet.java:
76)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service
(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.
internalDoFilter(Application
FilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.
doFilter(ApplicationFilter
Chain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.
invoke(StandardWrapperValve.
java:233)
        at
org.apache.catalina.core.StandardContextValve.
invoke(StandardContextValve.
java:191)
        at
org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:
109)
        at
org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:293)
        at
onnectionHandler.process(
Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
(JIoEndpoint.java:454)
        at java.lang.Thread.run(Unknown Source)

Thanks,
Peter

p.s. the failure to allow email lines longer than 80
characters is annoying!

----------------------------------------------------------------
Peter Chaim Weinstein, PhD, CMT
Computer Scientist, Massage Therapist
Be Well Communication; Be Well Bodywork, LLC
http://bewellbodywork.com
"Let us become the change we seek in the world" - Mahatma Gandhi
----------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: CannotResolveClassException in tomcat in eclipse

by Peter Weinstein :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Peter Weinstein <peterw@...> writes:

>
>
> Hi,
>
> I'm new to Xstream, love the product, but am pulling out my remaining
> hair trying to help it find my class for unmarshalling. I'm getting
> CannotResolveClassException when calling fromXML(). My code is in a
> servlet running in Tomcat 6 in Eclipse. I have already tried:
>



Nevermind -- I figured out my problem. I needed an alias to tell Xstream the
package of my class. I hadn't been thinking clearly about the syntax.

Thanks anyway -
Peter


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email