- From: VAMBENEPE,WILLIAM (HP-Cupertino,ex1) <vbp@hp.com>
- Date: Tue, 28 Oct 2003 19:45:36 -0500
- To: 'Umit Yalcinalp' <umit.yalcinalp@oracle.com>
- Cc: public-ws-desc-state@w3.org
- Message-ID: <92D1B98A6B79C348BDA9D5CC23650B1909B0F9@xsun06.ptp.hp.com>
You're right Umit. Also, that same 2c section said @pattern instead of @style. Corrected version attached. Thanks for the careful review. William -----Original Message----- From: public-ws-desc-state-request@w3.org [mailto:public-ws-desc-state-request@w3.org] On Behalf Of Umit Yalcinalp Sent: Tuesday, October 28, 2003 4:34 PM To: VAMBENEPE,WILLIAM (HP-Cupertino,ex1) Cc: public-ws-desc-state@w3.org Subject: Re: [public-ws-desc-state] <none> VAMBENEPE,WILLIAM (HP-Cupertino,ex1) wrote: Resending after correcting a bullet numbering error that I had introduced. William Hi William, I just found a tiny bug in the spec. Possibly a cut and paste error. See below. -----Original Message----- From: public-ws-desc-state-request@w3.org <mailto:public-ws-desc-state-request@w3.org> [mailto:public-ws-desc-state-request@w3.org <mailto:public-ws-desc-state-request@w3.org> ] On Behalf Of VAMBENEPE,WILLIAM (HP-Cupertino,ex1) Sent: Monday, October 27, 2003 11:43 AM To: public-ws-desc-state@w3.org <mailto:public-ws-desc-state@w3.org> Subject: [public-ws-desc-state] <none> Based on the discussion on the call this morning, here is a slightly edited version of the getter/setter style document. I added 3-b-ii and 3-b-iii. How does the wording look to you? Regards, William _____ The Attribute Getter/Setter Pattern: Roberto Chinnici, Steve Graham, Umit Yalcinalp, Oct 6, 2003 (edited by William Vambenepe on Oct 27, 2003) The following are the rules associated with the attributes "style" of demarcating getter/setter operations in WSDL 2.0. These rules represent sgg's notes and recollection of discussion on the ATF telecon of Oct 6, 2003. Roberto posted an "example" collection of XML fragments [1]. The contents of this email are included here. 1. The attribute itself can be any XML Global Element Definition. // this is the attribute <xs:schema targetNamespace="Attributes"> <xs:element name="YYY"> <xs:complexType> <xs:sequence> <xs:element name="a" type="xsd:int"/> <xs:element name="b" type="xsd:float"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 2. Attributes are exposed in the component model using specially marked Operations: // these are the operations <ws:definitions targetNamespace="MyService"> <ws:interface name="MyInterface" xmlns:wrappers="Wrappers"> <ws:operation name="get_XXX" style="http://www.w3.org/@@@@/@@/wsdl/style/get-attribute" <http://www.w3.org/@@@@/@@/wsdl/style/get-attribute> pattern="http://www.w3.org/@@@@/@@/wsdl/in-out" <http://www.w3.org/@@@@/@@/wsdl/in-out> > <ws:input name="in" body="wrappers:get_XXX"/> <ws:output name="out" body="wrappers:get_XXXResponse"/> </ws:operation> <ws:operation name="set_XXX" style="http://www.w3.org/@@@@/@@/wsdl/style/set-attribute" <http://www.w3.org/@@@@/@@/wsdl/style/set-attribute> pattern="http://www.w3.org/@@@@/@@/wsdl/in-out" <http://www.w3.org/@@@@/@@/wsdl/in-out> > <ws:input name="in" body="wrappers:set_XXX"/> <ws:output name="out" body="wrappers:set_XXX"/> </ws:operation> </ws:interface> </ws:definitions> a. The name of the operations must follow a pattern: i. get_Ø (for the getter operation) and set_Ø (for the setter operation). ii. Ø should be the name of the attribute, but need not be. Reasons for this include: namespace collisions (same attribute, different namespaces would yield operation namespace collisions). b. The value for @style of the get operation must be: "http://www.w3.org/@@@@/@@/wsdl/style/get-attribute" <http://www.w3.org/@@@@/@@/wsdl/style/get-attribute"> c. The value of the @pattern of the get operation must be: This is the set operation, not get operation. So, (c) should be changed to reflect this. "http://www.w3.org/@@@@/@@/wsdl/style/set-attribute" <http://www.w3.org/@@@@/@@/wsdl/style/set-attribute> d. For both the get and set operation, the value of @pattern must be: http://www.w3.org/@@@@/@@/wsdl/in-out <http://www.w3.org/@@@@/@@/wsdl/in-out> These are the message definitions: // these are the request and response messages for the getter <xs:schema targetNamespace="Wrappers" xmlns:attrs="Attributes"> <xs:element name="get_XXX"> </xs:element> <xs:element name="get_XXXResponse"> <xs:complexType> <xs:sequence> <xs:element ref="attrs:YYY"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="set_XXX"> <xs:complexType> <xs:sequence> <xs:element ref="attrs:YYY"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="set_XXXResponse"> </xs:element> </xs:schema> 3. The values of the in and out messages must follow these rules: a. The "attribute" associated with the get or set operation is identified by: i. The XML GED identified by the @ref of the element within the get response message or the @ref of the element within the set request message. The Qname value of the @ref in either case uniquely identifies the attribute b. For any given value of Ø, the attribute associated with the get_Ø and set_Ø operation MUST be the same i. It is illegal to have operations named get_ Ø and set_ Ø where the attribute associated with those operations are different ii. If there is both a getter and a setter for an attribute, they must be called get_Ø and set_Ø with the same value of Ø. iii. There cannot be more than one getter or more than setter associated with the same attribute. 4. the actual messages of the get and set operations must follow these rules: a. The element corresponding to the get request body element must have empty content and must not include any XML attribute. b. The element corresponding to the get response body element must contain a single child element. The child element must reference the attribute's XML global element definition. The child element contains the current value of the attribute. The child element must not include any XML attribute. c. The element corresponding to the set request body element must contain a single child element. The child element must reference the attribute's XML global element definition. The child element contains the "new" value of the attribute which "replaces" any previous value. The child element must not include any XML attribute. d. The element corresponding to the set response body element must have empty content and must not include any XML attribute. e. The response of the get message or set message may contain outfault child elements. [1] http://lists.w3.org/Archives/Public/public-ws-desc-state/2003Oct/0005.html <http://lists.w3.org/Archives/Public/public-ws-desc-state/2003Oct/0005.html> -- Umit Yalcinalp Consulting Member of Technical Staff ORACLE Phone: +1 650 607 6154 Email: umit.yalcinalp@oracle.com <mailto:umit.yalcinalp@oracle.com>
Attachments
- text/html attachment: GetterSetterStyle.html
Received on Tuesday, 28 October 2003 19:45:44 UTC