Robert, 

I am not sure I follow here, I do extensive method overloading and it works
(at least it used to) consider the following signatures from my PortType
class....

public java.math.BigInteger 
copy(java.lang.String search, java.lang.String target,
com.cognos.developer.CopyOptions options) 

public com.cognos.developer.CopyV1Reply[] 
copy(com.cognos.developer.CopyV1Request[] requests) 

public java.math.BigInteger 
copy(com.cognos.developer.BaseClass[] objects, java.lang.String target,
com.cognos.developer.CopyOptions options) 

public com.cognos.developer.CopyV2Reply[] 
copy(com.cognos.developer.CopyV2Request[] requests) 

public java.math.BigInteger 
copy(java.lang.String search, java.lang.String target, java.lang.String
newName, com.cognos.developer.CopyOptions options) 

public com.cognos.developer.CopyV3Reply[] 
copy(com.cognos.developer.CopyV3Request[] requests) 

public java.math.BigInteger 
copy(com.cognos.developer.BaseClass[] objects, java.lang.String target,
java.lang.String[] newName, com.cognos.developer.CopyOptions options) 

public com.cognos.developer.CopyV4Reply[] 
copy(com.cognos.developer.CopyV4Request[] requests) 




-----Original Message-----
From: robert woodley [mailto:[EMAIL PROTECTED]]
Sent: Monday, April 22, 2002 8:25 PM
To: [EMAIL PROTECTED]
Subject: Method Over-loading


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/

This message may contain privileged and/or confidential information.  If you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.  Thank you.

Reply via email to