- 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>
Umit, 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 > > > > ______________________________________________________________________ > 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. [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 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. [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