[ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753184#action_12753184 ]
Benson Margulies commented on CXF-2420: --------------------------------------- How did you end up with a proxy for your SEB? The problem is that Aegis is trying to invoke a method on the proxy that the proxy won't permit. Aegis doesn't make proxies, so someone else must have. Whom? DOSgi? > Passing an object to the server doesn't work correctly > ------------------------------------------------------ > > Key: CXF-2420 > URL: https://issues.apache.org/jira/browse/CXF-2420 > Project: CXF > Issue Type: Bug > Components: Aegis Databinding > Affects Versions: dOSGi-1.0, dOSGi-1.1 > Environment: OS: Linux Debian Lenny > Java: Sun JDK 1.6.0 Update 13 > OSGi: Equinox 3.5.0.v20090520 > CXF/DOSGi: Single Bundle Distribution 1.0/1.1.SNAPSHOT > Reporter: Saul Goode > Attachments: PassObjectClient_1.0.0.tryout.jar, > PassObjectInterface_1.0.0.tryout.jar, PassObjectServer_1.0.0.tryout.jar > > > I've got a Service PassObject exposed by CXF/DOSGi running on the server. > This service contains a method passAnObject which receives an object of type > MathHelper. MathHelper is an interface known both to the server and client. > The method passAnObject calls the methods MathHelper.getName() and > MathHelper.isGreaterThanZero(int) on the received object. When the client > calls the method passAnObject and passes an object which implements > MathHelper the following happens: The call to getName works as expected and > returns a String. But the call to the other method raises an exception on the > server (stack trace appended). I have this problem with both 1.0 and the > 1.1.SNAPSHOT. > Is it unsupported to pass objects to a remote service provider? Or is this > some kind of bug? > I didn't find an option to upload sth, so I uploaded the sample code to: > http://ul.to/4vlftz > The archive contains the server, client and interface bundles. The interface > bundle runs on both the server and client. > Server-side Exception output by OSGi with Single Bundle Distribution 1.0: > 02.09.2009 17:29:10 org.apache.cxf.phase.PhaseInterceptorChain doIntercept > INFO: Application has thrown exception, unwinding now > org.apache.cxf.interceptor.Fault: isGreaterZero is not delegated. > at > org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:95) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89) > at > org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302) > at > org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265) > at > org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:324) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) > at > org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) > Caused by: java.lang.IllegalAccessError: isGreaterZero is not delegated. > at > org.apache.cxf.aegis.type.basic.InterfaceInvocationHandler.invoke(InterfaceInvocationHandler.java:57) > at $Proxy33.isGreaterZero(Unknown Source) > at passobject.impl.PassObjectImpl.passAnObject(PassObjectImpl.java:10) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:166) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82) > ... 23 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.