After several hours of debugging I have the following
comment:

It is quite understandable that method over-loading
doesn't work in Axis, but it can fail in ways that are
unintelligible and erratic, which is not so good.

If there is method overloading, then
RPCProvider.processMessage tries all the available
methods until one method works without throwing an
exception. This can cause unpredictable results.
Shouldn't it just throw an exception saying
'over-loaded methods are not supported'?

Also at this line of code (RPCProvider):
  if (!params[i].isAssignableFrom(thisArg.getClass()))
the code should check that 'thisArg' is not null.

To summarize: you can get null pointer exceptions in
Axis when you have method over-loading in the SOAP
server implementation class. These exceptions can come
and go and are not always easy to reproduce. They are
due to a bug in the line referenced above. But better
than just fixing the bug, I feel that Axis should
error out when it detects method over-loading. This
will make the behavior clearer.

Thats my 2 cents. I could quite possible have it all
wrong.

Thanks
Bob Woodley



__________________________________________________
Do You Yahoo!?
Yahoo! Games - play chess, backgammon, pool and more
http://games.yahoo.com/

Reply via email to