W3C home > Mailing lists > Public > www-ws-desc@w3.org > November 2003

Re: Action item (2003-10-30) Proposed Revised wording and splitting of rules for RPC

From: Jacek Kopecky <jacek.kopecky@systinet.com>
Date: Mon, 03 Nov 2003 13:22:40 -0800
To: Umit Yalcinalp <umit.yalcinalp@oracle.com>
Cc: WS Description List <www-ws-desc@w3.org>
Message-Id: <1067894560.2712.68.camel@localhost>


I have a few rephrasing suggestions:

On Sun, 2003-11-02 at 13:30, Umit Yalcinalp wrote:
> Per my action item dated 2003-10-30 (it was 2003-10-23, but not 
> recorder), here is the proposed wording for the rpc rules splitting the 
> rules into two buckets and incorporating the agreed items [1] on Oct 
> 23rd 2003 concall.
> --umit
> [1] http://lists.w3.org/Archives/Public/www-ws-desc/2003Oct/0058.html
> ______________________________________________________________________
> Operation Style
> An Interface Operation component contains a {style} property. This
> property can only contain a URI value. However, it is OPTIONAL for
> this property to have a value. If the {style} property has a value,
> this implies specific rules that were used to define the {body}
> properties of all {message reference}s within that component
> designated by the URI.

[replacing the last sentence above]
If the {style} property has a value, it implies the rules that were used
to define the properties of that operation component.

> The specification defines rules that MUST be followed when the style
> attribute has one of the following values:

[instead of the above sentence] 
This specification includes the following three operation styles:

>     *
>       RPC Style (see RPC Style
>       <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#RPCStyle>)
>     *
>       Set-Attribute Style (see Set-Attribute Style
>       <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#AttrSetStyle>)
>     *
>       Get-Attribute Style (see Get-Attribute Style
>       <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#AttrGetStyle>)
> RPC Style
> The RPC style is selected by assigning the Interface Operation 
> component's {style} property the value 
> http://www.w3.org/@@@@/@@/wsdl/style/rpc.
> Use of this value states that XML Schema [XML Schema: Structures
> <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#XMLSchemaP1>]
> was used to define the schemas of the {body} properties of all
> {message reference} components of the Interface Operation
> component. 
> Those schemas MUST adhere to the following rules:
>     * The content model of input and output {body} elements are defined
>       using a complex type that contains a sequence from XML Schema.
>     * The sequence MUST only contain elements. It MUST NOT contain other
>       structures such as xs:choice.
>     * The sequence MUST contain only local element children.
>     * The child elements MAY contain the following attributes:
>       xsi:Nillable, minOccurs and maxOccurs.
>     * The localPart of input element's QName MUST be the same as the
>       Interface operation component's name.
>     * The localPart of the output element's QName is obtained by
>       concatenating the name of the operation and the string value
>       "Response", i.e. concat(operation/@name,"Response").
>     * Input and output elements MUST all be in the same namespace.

[rephrasing the above rule]
* Input and output elements MUST both be in the same namespace.

>     * The complex type that defines the body of an input or an output
>       element MUST NOT contain any attributes.
>     * If an element that appears as a child of an input element also
>       appears as a child of an output element, it MUST be declared by
>       using the same type.

[Are we lacking a rule forbidding the (input|output) sequence to contain
an element multiple times?]

> Furhermore, the following rules MAY BE used to map between a message
> and a signature of a remote procedure call. These rules are suggested
> conventions to accomodate mapping. 
>     * If an element is a child of the input element and an element
>       with the same name is not a child of the output element, then it
>       represents an input parameter. 
>     * If an element is a child of the output element and an element
>       with the same name is not a child of the input element, then it
>       represents an output parameter.
>     * If an element that occurs as a child element both in the input
>       and the output elements, then it represents an in/out parameter.
>     * Each element represents a single parameter irrespective of its
>       cardinality.
>     * The parameter order is specified by using the parameterOrder attribute. 
>       [TBD: Needs parameterOrder to be specified in detail]
>     * The return value is specified by the return attribute. 
>       [TBD : Needs return attribute to be specified in detail and may be
>        omitted pending action on the definition of parameterOrder] 
Received on Monday, 3 November 2003 16:22:56 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:06:36 UTC