Personally I think EVERYTHING that comes back is an output parameter (or a
return if you prefer that terminology).  So either:
- invoke should return a list and getOutputParams doesn't exist;
- invoke is a void method and you must use getOutputParams to get the
output.

I hate distinguishing between return and output parm, but since that's what
the JAX-RPC spec says then ONLY if you specify a return value will invoke
return something.  Otherwise everything is an output parameter.

Also, there's an open question about what we're supposed to do if you don't
specify a return type nor do you specify an out parameter but the runtime
gets one anyway.  Does the runtime ignore it?  Throw an exception?  Give it
to the user anyway?  AXIS right now just puts it into the outputparams
list.

Sounds like perhaps the examples need to be revisited.

Russell Butek
[EMAIL PROTECTED]


Vishy Kasar <[EMAIL PROTECTED]> on 02/11/2002 06:34:14 PM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:   [EMAIL PROTECTED]
Subject:  Call.invoke() has problems when no return type is specified



Hi,

There seem to be problems in AXIS (FEB-08 build)
java\src\org\apache\axis\client\Call.java invoke(RPCElement) method when

the return type is not specified. A null return value is returned in
this case.

I think the following code

     RPCParam param = (RPCParam)resArgs.get(0);
     result = param.getValue();

must be done out side of the if block
           if (returnType != null || paramTypes == null) {

to resolve this problem.

None of the userguide/samples/example* clients specify the return type
and hence they will all get a return value of null.





Reply via email to