On 12/13/06, Daniel Rall <[EMAIL PROTECTED]> wrote:

Would you mind providing some pointers into the version 3.x code so I
can take a look to get a better understanding of the situation (saving
you an exhaustive explaination :) ?

See the following quote from AbstractReflectiveHandlerMapping (which
provides access to a POJO by scanning its public methods);

   protected boolean isHandlerMethod(Method pMethod) {
       if (!Modifier.isPublic(pMethod.getModifiers())) {
           return false;  // Ignore methods, which aren't public
       }
       if (Modifier.isStatic(pMethod.getModifiers())) {
           return false;  // Ignore methods, which are static
       }
       if (!isVoidMethodEnabled()  &&  pMethod.getReturnType() == void.class) {
           return false;  // Ignore void methods.
       }
       if (pMethod.getDeclaringClass() == Object.class) {
           return false;  // Ignore methods from Object.class
       }
       return true;
   }


Also, how does the current code report this problem when "extension
mode" is active, and inactive?

Contrary to my believe, a method is silently ignored, if the above
method returns false.


For POJOs (the more interesting case), XML-RPC handlers trigger an
exception which complains that void method return values are not
supported:

In particular, void methods haven't been supported in the past. Then I
see no sense in doing it now.


Jochen

--
My wife Mary and I have been married for forty-seven years and not
once have we had an argument serious enough to consider divorce;
murder, yes, but divorce, never.
(Jack Benny)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to