Hi fzhong,

I see what you're saying... we do have some code to support generics, but
this seems to be a hole in our support.

It seems the function in JavaInterfaceUtil could maybe be improved to match
the operation correctly (and possibly some other piece of java interface
introspection might also need to be fixed).

Can you please open a JIRA, and attach your testcase?

Scott

On Fri, Aug 19, 2011 at 4:21 AM, fzhong <[email protected]> wrote:

> **
>  Hi all,
>     I was trying to build a rmi service using tuscany.I implemented a
> UserService interface that extends a generic interface,please see more
> details from my mail attachment;
>
>    When I called normal method ,it worked well.But when I called  generic
> method,it throwed exception.
> Here's the exception stacktrace,
>
>
> java.lang.NullPointerException
> at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:157)
> at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:730)
>
> at 
> org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.getInvocationChain(RuntimeWireImpl.java:144)
>
> at 
> org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:103)
>
> at 
> org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:98)
>
> at 
> org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:175)
>
> at 
> org.apache.tuscany.sca.binding.rmi.provider.RMIServiceBindingProvider.invokeTarget(RMIServiceBindingProvider.java:148)
>
> at 
> org.apache.tuscany.sca.binding.rmi.provider.RMIServiceBindingProvider$1.intercept(RMIServiceBindingProvider.java:110)
>
> at 
> $java.rmi.server.UnicastRemoteObject$$EnhancerByCGLIB$$17915681.insert(<generated>)
> 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:585)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
> at sun.rmi.transport.Transport$1.run(Transport.java:153)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
>
> at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
> at java.lang.Thread.run(Thread.java:595)
>
> at 
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
>
> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
>
> at 
> java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:179)
>
> at 
> java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
>
>  …… ……  ……
>
>
> Thanks !
> 2011-08-19
> ------------------------------
>  fzhong
>

Reply via email to