axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bu...@us.ibm.com
Subject RE: Return type
Date Mon, 08 Jul 2002 16:18:31 GMT
The spec says:

"In terms of the specification of parameters and return value, a Call
implementation class
is required to support the following cases:

• The Call implementation class determines the types of the parameters and
return
value from the invocation of addParameter and setReturnType methods in the
client code. The method isParameterAndReturnSpecRequired is required to
return
true in this case.

• The Call implementation class determines the types and modes of the
parameters in
an implementation specific manner. For example, a Call implementation class
may
determine parameter types by using Java reflection on parameters, using
WSDL
service description and the configured type mapping registry. In this case,
the client
code is not required to invoke any addParameter and setReturnType methods
before calling the invoke method. The method isParameterAndReturnSpec-
Required
is required to return false in this case. The methods addParameter,
removeAllParameters and setReturnType may throw JAXRPCException if invoked
in this case."


This IMPLIES that Call determines the types of parameters and return EITHER
by addParameter/setReturnType OR some implementation specific manner.  What
you're saying is that, for AXIS, addParameter/setReturnType are part of the
implementation specific manner.  I doubt most folks would read it that way.
Code written to assume an exclusive or use of addParameter/setReturnType
will not port to AXIS code if we do what you suggest.

Russell Butek
butek@us.ibm.com


Doug Davis/Raleigh/IBM@IBMUS on 07/08/2002 10:18:45 AM

Please respond to axis-dev@xml.apache.org

To:    axis-dev@xml.apache.org
cc:
Subject:    RE: Return type




But the spec doesn't mandate that isParameterAndReturnSpecRequired MUST
return "true".  In fact, it says that we can have an implementation
specific way of doing it and if so it is legal for it to return "false" in
ALL cases - which is basically what I'm suggesting.  We've been through
this before - just because isParameterAndReturnSpecRequired returns "false"
does not mean you can't still call addParameter - the spec says that method
_may_ throw an exception not MUST throw an exception.  So, let's have it
return "false" and make our lives easier.
-Dug

Please respond to axis-dev@xml.apache.org

To:   axis-dev@xml.apache.org
cc:
Subject:    RE: Return type



Dug, it seems to me the name of the method itself -
isParameterAndReturnSpecRequired - tells us that you MUST specify the
return as well as parameters.

Russell Butek
butek@us.ibm.com

Please respond to axis-dev@xml.apache.org

To:   axis-dev@xml.apache.org
cc:
Subject:    RE: Return type




Glen?
If no one can show me where in the spec it says this
I'd like to remove the check(s).
-Dug

---------------------- Forwarded by Doug Davis/Raleigh/IBM on 07/04/2002
06:51 AM ---------------------------

To:   axis-dev@xml.apache.org
cc:
From: Doug Davis/Raleigh/IBM@IBMUS
Subject:    RE: Return type  Doug Davis


Can you point me to where in the spec it says that?
I can't find anyplace in the spec where it says a return
type is required.  In fact it does talk about "implementation
specific manner" of when talking about what to do with
addParam/setReturn types so why can't we just make
this "our implementation manner"?
-Dug

Please respond to axis-dev@xml.apache.org

To:   "'axis-dev@xml.apache.org'" <axis-dev@xml.apache.org>
cc:
Subject:    RE: Return type




I  agree with you, Doug.  This is a JAX-RPCism.  Personally, I think you
should be able to specify as much or as little metadata as you want, and
you  takes your chances (for instance, there'll either be xsi:types on the
return or  not), but the other JAX-RPC experts disagreed.

--Glen
-----Original Message-----
From: dug@us.ibm.com  [mailto:dug@us.ibm.com]
Sent: Tuesday, July 02, 2002 10:07  AM
To: axis-dev@xml.apache.org
Subject: Return  type



If I create a Service object and a Call object  w/o any WSDL
and then call addParameter() I get an error saying that
I  _must_ also specify a return type. Why do we require this?
If the return  type is so important then it should not be triggered
based on me calling  addParameter it should just be required
in all cases. With the current  logic if I have a no-arg method
I won't get this error, but if I have a  one-arg method I will. This
inconsistency isn't good. Personally, I'd  prefer if we didn't
require it at all. Can someone explain the logic  here?
-Dug


[IMAGE]
[IMAGE]

Mime
View raw message