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 15:00:28 UTC

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

Pablo Gomez created ARIES-1515:
----------------------------------

             Summary: 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
            Reporter: Pablo Gomez


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)