Sylvain - I should have been more specific.
I start with a java interface, generate the WSDL, then generate the stubs. Earlier posts by R J Scheuerle on this mail list (3/15) confirm that there is a problem with method over-loading and round-tripping (Java->WSDL->Java) But your answer shows me that I was thinking too narrowly and that there are other contexts where method over-loading will work. Still null pointer exceptions in Axis code are bad things. Users won't all have the time and expertise to track them down. So perhaps my e-mail will plug one potential hole. Though when I looked at the latest code release I see that the routine has been substantially reworked anyhow. So my post is really for whichever developer(s) is working on that code, and I'm just pointing out a place where one can get a null pointer exception. I see that my broader comment about not allowing over-loading is not so appropriate. Thanks Bob Woodley --- "St-Germain, Sylvain" <[EMAIL PROTECTED]> wrote: > 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. __________________________________________________ Do You Yahoo!? Yahoo! Games - play chess, backgammon, pool and more http://games.yahoo.com/
