You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Christian Schneider (JIRA)" <ji...@apache.org> on 2016/03/31 16:16:25 UTC

[jira] [Resolved] (ARIES-1515) TCPServer fails to retrive method @reflection when using interfaced arguments

     [ https://issues.apache.org/jira/browse/ARIES-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Schneider resolved ARIES-1515.
----------------------------------------
    Resolution: Fixed

I found a goo way to fix this:
https://github.com/apache/aries-rsa/commit/dea3223d99b69d465da1aa1434d2836108e255f9

Would be happy about a review.

> TCPServer fails to retrive method @reflection when using interfaced arguments
> -----------------------------------------------------------------------------
>
>                 Key: ARIES-1515
>                 URL: https://issues.apache.org/jira/browse/ARIES-1515
>             Project: Aries
>          Issue Type: Bug
>          Components: Remote Service Admin
>    Affects Versions: rsa-1.8.0
>            Reporter: Pablo Gomez
>            Assignee: Christian Schneider
>             Fix For: rsa-2.0.0
>
>
> The following TCPServer.java
>    private Object invoke(String methodName, Object[] args)
>         throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
>         Class<?>[] parameterTypesAr = getTypes(args);
>         Method method = service.getClass().getMethod(methodName, parameterTypesAr);
>         try {
>             return method.invoke(service, args);
>         } catch (Throwable e) {
>             return e;
>         }
>     }
> bases the signature method on the argument's object implementation. However, this fails if the Service interface uses an interface in signature e.g. java.util.List 
> can't see a real straight forward solution, cause  trying to match the signature with the interfaces extracted alike getType does, e.g doing an arg.getClass().getInterfaces() could be a mess, as there could be many interfaces.
> As I note I do not have this problem with the CXF-WS transport so perhaps whatever is done there could be applied here



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)