- From: Umit Yalcinalp <umit.yalcinalp@oracle.com>
- Date: Sun, 02 Nov 2003 13:30:00 -0800
- To: WS Description List <www-ws-desc@w3.org>
- Message-ID: <3FA57758.7080003@oracle.com>
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
2.3.1.1 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. The specification defines rules that MUST be followed when the style attribute has one of the following values: * RPC Style (see 2.3.1.1.1 RPC Style <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#RPCStyle>) * Set-Attribute Style (see 2.3.1.1.2 Set-Attribute Style <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#AttrSetStyle>) * Get-Attribute Style (see 2.3.1.1.3 Get-Attribute Style <http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html#AttrGetStyle>) 2.3.1.1.1 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. * 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. 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 Sunday, 2 November 2003 16:32:44 UTC