I've an application that uses JPA which I'm trying switch from Toplink
Essentials to OpenJPA 1.0.1.
The application uses Spring 2.0, Axis2 1.3 and it runs on Tomcat 6.0.
OpenJPA seems to be working in a test case with the following call chain
- jsp
- Spring service bean (uses declarative transaction management)
- Spring DAO bean
- OpenJPA
but when making a RESTful Web Service request through the web browser that
gets dispatched to the service bean via Axis2 the client, the browser gets
the error below.
Any ideas on what's going on and how to fix this?
<Exception>
org.apache.axis2.AxisFault:
org.codehaus.jam.internal.elements.UnresolvedClassImpl cannot be cast to
org.codehaus.jam.internal.elements.ClassImpl
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic
(RPCMessageReceiver.java:156)
at
org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(
AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(
AbstractMessageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(
RESTUtil.java:125)
at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(
RESTUtil.java:119)
at
org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest
(AxisServlet.java:799)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java
:242)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
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:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java
:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException:
org.codehaus.jam.internal.elements.UnresolvedClassImpl cannot be cast to
org.codehaus.jam.internal.elements.ClassImpl
at org.codehaus.jam.internal.JamClassLoaderImpl.loadClass(
JamClassLoaderImpl.java:96)
at org.codehaus.jam.JamClassIterator.nextClass(JamClassIterator.java:68)
at org.codehaus.jam.JamClassIterator.next(JamClassIterator.java:88)
at org.apache.axis2.databinding.utils.BeanUtil.getPullParser(
BeanUtil.java:85)
at org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java
:97)
at org.apache.axis2.rpc.receivers.RPCUtil.processResponseAsDocLitWrapped
(RPCUtil.java:437)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic
(RPCMessageReceiver.java:134)
... 21 more
</Exception>
marko