You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2008/07/04 13:27:36 UTC
[jira] Resolved: (AXIS2-2807) Error when using
java.lang.reflect.Proxy classes in Axis2 web service method
[ https://issues.apache.org/jira/browse/AXIS2-2807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepal Jayasinghe resolved AXIS2-2807.
--------------------------------------
Resolution: Fixed
> Error when using java.lang.reflect.Proxy classes in Axis2 web service method
> ----------------------------------------------------------------------------
>
> Key: AXIS2-2807
> URL: https://issues.apache.org/jira/browse/AXIS2-2807
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: adb
> Affects Versions: 1.2
> Environment: Linux cisd-hpws01 2.6.18.8-0.3-default #1 SMP Tue Apr 17 08:42:35 UTC 2007 x86_64 x86_64 x86_64 GNU/Linux
> Java HotSpot(TM) 64-Bit Server VM 1.5.0_11-b03
> Reporter: Bernd Rinn
> Assignee: Deepal Jayasinghe
> Attachments: BeanUtil_Proxy.patch, JamClassLoaderImpl_Proxy.patch
>
>
> When providing a java.lang.reflect.Proxy as the return value of a web service method, I get the exception:
> org.apache.axiom.om.OMException: java.lang.ClassCastException: org.codehaus.jam.internal.elements.UnresolvedClassImpl
> at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:211)
> at org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:315)
> at org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:608)
> at org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:577)
> at org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:114)
> at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:236)
> at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:192)
> at org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:195)
> at ch.systemsx.cisd.lims.server.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:149)
> at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:144)
> at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279)
> at org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:216)
> at org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:275)
> at org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:184)
> at org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:74)
> at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
> at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.ClassCastException: org.codehaus.jam.internal.elements.UnresolvedClassImpl
> 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:89)
> at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:926)
> at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:780)
> at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:68)
> at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:125)
> ... 18 more
> The problem essentially seems to be that the leading $ of the class name (e.g. '$Proxy5') confuses the annogen and adb library. I found two problems, one in org.codehaus.jam.internal.JamClassLoaderImpl and one in org.apache.axis2.databinding.utils.BeanUtil. I found workarounds to the problems by explicitely checking for Proxy classes. I am actually not sure that this is the right way to fix the problem. Anyway, I'll attach them to this issue for reference.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org