You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Tim Dierks <ti...@yahoo.com> on 2003/01/10 20:46:31 UTC

Overloaded method

I'm converting our application from Apache SOAP to
Apache Axis and am having trouble getting Axis 1.1
beta to invoke the proper overloaded method of my web
service.  I have 2 methods with the same name but with
different signatures.  They both take 3 arguments, the
first two of which are strings.  But one method takes
a third parameter that is a complex type (and returns
a complex type) and the other takes a third parameter
that is an array of the same complex type (and returns
an array of the same complex type).

My client sends a request that should map to the first
signature (without the array) but somehow it gets
mapped my web service method that takes the array. 
I'm using a TCP trace tool so I've verified that an
array is not being sent by my client in the request. 
It is as if Axis is building an array out of the
single value it receives and maps it to the method
that accepts an array.  Is that possible?  So my web
service processes the request, but the wrong method
has been invoked.  This wrong method returns an array,
which my client doesn't like, because it expects a
single value.  I tried specifying
operations/parameters in my wsdd file, but so far that
hasn't worked.  Everything worked fine when I used
Apache SOAP on both ends, and I haven't changed my
application code.  I'm still using Apache SOAP on the
client since I haven't had time to convert both ends
of my application, but I'm not sure why that shouldn't
work.  Has anyone experienced similar problems with
overloaded methods or know of a solution?  And where
can I find better documentation on wsdd?

Thanks.

Tim Dierks


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com