- From: Umit Yalcinalp <umit.yalcinalp@oracle.com>
- Date: Tue, 28 Oct 2003 16:55:54 -0800
- To: "VAMBENEPE,WILLIAM (HP-Cupertino,ex1)" <vbp@hp.com>
- Cc: public-ws-desc-state@w3.org
- Message-ID: <3F9F101A.20505@oracle.com>
VAMBENEPE,WILLIAM (HP-Cupertino,ex1) wrote: > You're right Umit. Also, that same 2c section said @pattern instead of > @style. Corrected version attached. Thanks for the careful review. > > William One more below which I just noticed. > > > -----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] On Behalf Of >>>VAMBENEPE,WILLIAM (HP-Cupertino,ex1) >>>Sent: Monday, October 27, 2003 11:43 AM >>>To: 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" >> >> pattern="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" >> >> pattern="http://www.w3.org/@@@@/@@/wsdl/in-out"> >> >> <ws:input name="in" body="wrappers:set_XXX"/> >> >> <ws:output name="out" body="wrappers:set_XXX"/> >> this should be set_XXXResponse >> </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" >> >> 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" >> >> d. For both the get and set operation, the value of @pattern >> must be: 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 >> > >-- >Umit Yalcinalp >Consulting Member of Technical Staff >ORACLE >Phone: +1 650 607 6154 >Email: umit.yalcinalp@oracle.com > > > > > ------------------------------------------------------------------------ > > 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" > > pattern="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" > > pattern="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" > > c. The value of the @style of the set operation must be: > "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" > > 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 > -- Umit Yalcinalp Consulting Member of Technical Staff ORACLE Phone: +1 650 607 6154 Email: umit.yalcinalp@oracle.com
Received on Tuesday, 28 October 2003 19:56:15 UTC