You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Saul Goode (JIRA)" <ji...@apache.org> on 2009/09/02 18:26:32 UTC

[jira] Created: (CXF-2420) Passing an object to the server doesn't work correctly

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
         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
             Fix For: dOSGi-1.1, dOSGi-1.0


I'v 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.


Re: [jira] Updated: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by Benson Margulies <bi...@gmail.com>.
David,

I'm not sure this one sticks to Aegis. Someone wrapped the SEB in a proxy.
Could OSGi be doing that?

--benson

[jira] Commented: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "David Bosschaert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12760615#action_12760615 ] 

David Bosschaert commented on CXF-2420:
---------------------------------------

I've assigned this bug to myself to see if I can provide a fix...

> 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
>            Assignee: David Bosschaert
>         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.


[jira] Issue Comment Edited: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "Saul Goode (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755154#action_12755154 ] 

Saul Goode edited comment on CXF-2420 at 9/14/09 12:51 PM:
-----------------------------------------------------------

The GreeterData Interface doesn't exactly apply to my case, since it doesn't contain a method with arguments.

But I found a workaround: I just use the implementation class directly.

In the Greeter demo this would mean, changing the greetMe method signature from greetMe(GreeterData) to greetMe(GreeterDataImpl). Of course one has to move the implementation class to the interface package, so that it's available on both sides. Afterwards you can also add methods which take arguments to GreeterDataImpl and use them on the server-side.

(see also http://www.nabble.com/-DOSGi--Server-side-proxy-doesn%27t-work-correctly-tt25365318.html#a25387905 )

      was (Author: saulgoode):
    The GreeterData Interface doesn't exactly apply to my case, since it doesn't contain a method with arguments.

But I found a workaround: I just use the implementation class directly.

In the Greeter demo this would mean, changing the greetMe method signature from greetMe(GreeterData) to greetMe(GreeterDataImpl). Of course one has to move the implementation class to the interface package, so that it's available on both sides. Afterwards you can also add methods which take arguments to GreeterDataImpl and use them on the server-side.

(see also http://www.nabble.com/-DOSGi--Server-side-proxy-doesn%27t-work-correctly-tt25365318.html#a25387905)
  
> 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.


[jira] Commented: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "Saul Goode (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755154#action_12755154 ] 

Saul Goode commented on CXF-2420:
---------------------------------

The GreeterData Interface doesn't exactly apply to my case, since it doesn't contain a method with arguments.

But I found a workaround: I just use the implementation class directly.

In the Greeter demo this would mean, changing the greetMe method signature from greetMe(GreeterData) to greetMe(GreeterDataImpl). Of course one has to move the implementation class to the interface package, so that it's available on both sides. Afterwards you can also add methods which take arguments to GreeterDataImpl and use them on the server-side.

(see also http://www.nabble.com/-DOSGi--Server-side-proxy-doesn%27t-work-correctly-tt25365318.html#a25387905)

> 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.


[jira] Updated: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "David Bosschaert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Bosschaert updated CXF-2420:
----------------------------------

    Component/s:     (was: Distributed-OSGi)
                 Aegis Databinding

Reassigning this to the Aegis component, as I think that might be where the problem is.

> 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.


[jira] Updated: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "Saul Goode (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Saul Goode updated CXF-2420:
----------------------------

    Attachment: PassObjectClient_1.0.0.tryout.jar
                PassObjectServer_1.0.0.tryout.jar
                PassObjectInterface_1.0.0.tryout.jar

Ok, found the upload option ;).

The bundles contain the sources in the src/ directory.

> 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
>         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
>             Fix For: dOSGi-1.0, dOSGi-1.1
>
>         Attachments: PassObjectClient_1.0.0.tryout.jar, PassObjectInterface_1.0.0.tryout.jar, PassObjectServer_1.0.0.tryout.jar
>
>
> I'v 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.


[jira] Commented: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "David Bosschaert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755025#action_12755025 ] 

David Bosschaert commented on CXF-2420:
---------------------------------------

Saul, I've just updated the Greeter demo to show how you can do this. See if it works for you.

> 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.


[jira] Commented: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "David Bosschaert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761243#action_12761243 ] 

David Bosschaert commented on CXF-2420:
---------------------------------------

Looks like your workaround is the only current way this is supported. For interfaces only property getters (without arguments) are supported at the moment.

> 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
>            Assignee: David Bosschaert
>         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.


[jira] Updated: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "Saul Goode (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Saul Goode updated CXF-2420:
----------------------------

          Component/s: Distributed-OSGi
          Description: 
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





  was:
I'v 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





    Affects Version/s: dOSGi-1.1
                       dOSGi-1.0
        Fix Version/s:     (was: dOSGi-1.1)
                           (was: dOSGi-1.0)

> 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: Distributed-OSGi
>    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.


[jira] Resolved: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "David Bosschaert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Bosschaert resolved CXF-2420.
-----------------------------------

    Resolution: Later

This currently not supported and Saul has found a workaround.

> 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
>            Assignee: David Bosschaert
>         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.


[jira] Commented: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Assigned: (CXF-2420) Passing an object to the server doesn't work correctly

Posted by "David Bosschaert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Bosschaert reassigned CXF-2420:
-------------------------------------

    Assignee: David Bosschaert

> 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
>            Assignee: David Bosschaert
>         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.