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

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=15219947#comment-15219947 ] 

Pablo Gomez commented on ARIES-1515:
------------------------------------

ah nice solution, definitely using that method.getParameterTypes() when finding the right method first does the job,it works from my side thanks!


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