Issue 195: soap-rpc:result

All,

Minor Issue
===========
Looking more in depth at issue 195, I caught what seems to me a small 
discrepancy in the spec:

section 3.1.3, point 2, second bullet states:
<quote>
If outbound edges are distinguished only by position ("array") then the 
local name and namespace name properties of the element information item 
are not significant.
</quote>

section 4.1, sixth bullet states:
<quote>
Each outbound edge has a label corresponding to the name of the 
parameter (see A Mapping Application Defined Name to XML Name) or a 
position corresponding to the position of the parameter. The label of 
the return value outbound edge is "result" and it is namespace-qualified 
with the namespace name "http://www.w3.ort/2001/12/soap-rpc"...
</quote>

As an RPC response can be viewed as an array, when it is the case, I 
don't think we should mandate any specific local name and namespace for 
the element information item representing the return value outbound 
edge. (Note: rereading this, I'm not sure we really mandate the local 
name and namespace in all cases, but I think that at least we could make 
the prose clearer).

I would propose to change the text for the return value in order to have 
it in sync with the text for input or output parameters, that is if a 
label is needed here is the definition otherwise, just use the position.

Main Issue of 195
=================
Going back to the issue raised by Tim Ewald, I think we should not 
mandate the namespace for the return value outbound edge.
By removing this, we allow application developpers using SOAP to write 
XML Schema representing an RPC invocation and an RPC response, enabling 
them to Schema validate the RPC invocation or RPC response if they want.

However, we don't want to mandate Schema validation with SOAP. So I 
don't think we should speak of types for RPC parameters.

Proposal
========
As a resolution for 195, I would propose to change the sixth bullet of 
section 4.1 to reflect those thought.

<original>
Each outbound edge has a label corresponding to the name of the 
parameter (see A Mapping Application Defined Name to XML Name) or a 
position corresponding to the position of the parameter. The label of 
the return value outbound edge is "result" and it is namespace-qualified 
with the namespace name "http://www.w3.org/2001/12/soap-rpc". The return 
value outbound edge MUST be present if the return value of the procedure 
is non-void. The return value outbound edge MUST NOT be present if the 
return value of the procedure is void.
</original>

<proposal>
Each outbound edge >>>either<<< has a label corresponding to the name of 
the parameter (see A Mapping Application Defined Name to XML Name) or a 
position corresponding to the position of the parameter. >>>If needed, 
the label of the return value outbound edge is "result"<<<. The return 
value outbound edge MUST be present if the return value of the procedure 
is non-void. The return value outbound edge MUST NOT be present if the 
return value of the procedure is void.
</proposal>

Comments ?

Hervé.

Received on Wednesday, 27 March 2002 11:20:02 UTC