You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/08/27 22:40:20 UTC

DO NOT REPLY [Bug 22772] New: - OUT params incorrectly handled in RPCProvider

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22772>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22772

OUT params incorrectly handled in RPCProvider

           Summary: OUT params incorrectly handled in RPCProvider
           Product: Axis
           Version: current (nightly)
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Basic Architecture
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: gawor@mcs.anl.gov


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}.