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
