Jarek, can you file a bug on both these issues. Patches in cvs diff -u format are preferred. Test cases would be very, very nice too, as that way we can catch regressions automatically.

thanks,

-steve

Jarek Gawor wrote:
In the RPCProvider, the piece of code that handles the output params
(starting line 265) it puts the Holder objects into the argValues array
starting at an index based on the number of parameters passed in the
request. The problems is if some of the input parameters are optional and
not sent in the request, the output parameters in the argValues will be put
into the wrong location and therefore wrong operation on the service will be
invoked. For example, if I have a service with a method that takes one
optional input parameter and has two output parameters, and if the request
does not pass the input parameter, then the argValues array will look like
this: {FooHolder, BarHolder, null} but it should be: {null, FooHolder,
BarHolder}.
I modified that piece of code in RPCProvider to handle OUT params in the
same way as the INOUT params (so that order could be preserved) and that
solved this problem. If this makes sense I can submit a patch.

Jarek

Btw, it looks like org\apache\axis\configuration\FileProvider.java uses old
resource key ("noService").





Reply via email to