- From: Doug Davis via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 29 Jan 2010 04:01:01 +0000
- To: public-ws-resource-access-notifications@w3.org
Update of /w3ccvs/WWW/2002/ws/ra/edcopies In directory hutz:/tmp/cvs-serv23967 Modified Files: wsfrag.html wsfrag.xml wst.html wst.xml Log Message: 8302, 8180, 8299 Index: wst.xml =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wst.xml,v retrieving revision 1.98 retrieving revision 1.99 diff -u -d -r1.98 -r1.99 --- wst.xml 28 Jan 2010 18:37:29 -0000 1.98 +++ wst.xml 29 Jan 2010 04:00:59 -0000 1.99 @@ -106,16 +106,32 @@ absence of any third parties. The server MAY change the representation of a resource, MAY remove a resource entirely, or MAY bring back a resource that was deleted.</p> - <p>For instance, the server might store resource state information on a disk - drive. If that drive crashes and the server recovers state information from a - backup tape, changes that occurred after the backup was made will be - lost.</p> - <p>A server MAY have other operational processes that change resource state - information. A server might run a background process that examines resources - for objectionable content and deletes any such resources it finds. A server - can purge resources that have not been accessed for some period of time. A - server could apply storage quotas that cause it to occasionally purge - resources.</p> + <p> + For instance, the server might store resource state information on a + disk drive. If that drive crashes and the server recovers state + information from a backup tape, changes that occurred after the + backup was made will be lost. + </p> + + <p> + A server MAY have other operational processes that change resource state + information. For example, a server could purge resources that have not + been accessed for some period of time. + </p> + + <p> + In addition to this, there MAY be application or process specific + reasons for a server to augment or transform the representation + provided by an update or create operation. For example, the server + might populate the optional properties of a newly created resource + with meaningful default values. + </p> + + <p> + Finally all clients need to be aware that there might be other clients + simultaneously accessing, creating, and updating the same resources. + </p> + <p>In essence, the confirmation by a service of having processed a request to create, modify, or delete a resource implies a commitment only at the instant that the confirmation was generated. While the usual case is that @@ -567,6 +583,9 @@ <kw>[Body]</kw> <wst:GetResponse ...> + <wst:Representation ...> + <emph>xs:any</emph>? + </wst:Representation>? <emph>xs:any</emph>* </wst:GetResponse></eg> </example> @@ -578,11 +597,14 @@ <glist> <gitem> - <label> <kw>[Body]</kw>/wst:GetResponse </label> + <label> <kw>[Body]</kw>/wst:GetResponse/wst:Representation </label> <def> <p> - This REQUIRED element MUST have as its first child element, - an element that comprises the representation of the resource. + This element acts as a container for the full representation of + the resource. This element MUST be present if the corresponding + Get request did not specify a Dialect attribute. This element + MAY have no children in cases where there is no resource + representation. </p> </def> </gitem> @@ -655,13 +677,15 @@ </s:Header> <s:Body> <wst:GetResponse> - <xxx:Customer> - <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> - <xxx:address>123 Main Street</xxx:address> - <xxx:city>Manhattan Beach</xxx:city> - <xxx:state>CA</xxx:state> - <xxx:zip>90266</xxx:zip> - </xxx:Customer> + <wst:Representation> + <xxx:Customer> + <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> + <xxx:address>123 Main Street</xxx:address> + <xxx:city>Manhattan Beach</xxx:city> + <xxx:state>CA</xxx:state> + <xxx:zip>90266</xxx:zip> + </xxx:Customer> + </wst:Representation> </wst:GetResponse> </s:Body> </s:Envelope></eg> @@ -711,6 +735,9 @@ <kw>[Body]</kw> <wst:Put Dialect="<emph>xs:anyURI</emph>"? ...> + <wst:Representation ...> + <emph>xs:any</emph>? + <wst:Representation>? <emph>xs:any</emph>* </wst:Put></eg> </example> @@ -722,18 +749,6 @@ <glist> <gitem> - <label> <kw>[Body]</kw>/wst:Put </label> - <def> - <p> - This REQUIRED element MUST have as its first child element, - an element that comprises the representation of the resource - that is to be replaced or instructions for updating the - resource. - </p> - </def> - </gitem> - - <gitem> <label> <kw>[Body]</kw>/wst:Put@Dialect </label> <def> <p> @@ -760,6 +775,19 @@ </def> </gitem> + <gitem> + <label> <kw>[Body]</kw>/wst:Put/wst:Representation </label> + <def> + <p> + This element acts as a container for the full representation + of the resource. This element MUST be present if the Dialect + attribute is absent. This element MAY have no children. This + case MUST be interpreted as a request to remove the + resource's representation, not the resource itself. + </p> + </def> + </gitem> + </glist> <p> @@ -817,36 +845,24 @@ <kw>[Body]</kw> <wst:PutResponse ...> + <wst:Representation ...> + <emph>xs:any</emph>? + </wst:Representation>? <emph>xs:any</emph>* </wst:PutResponse></eg> </example> <glist> <gitem> - <label> <kw>[Body]</kw>/wst:PutResponse </label> + <label> <kw>[Body]</kw>/wst:PutResponse/wst:Representation </label> <def> <p> - This REQUIRED element, if it contains any child elements, - MUST have as its first child element, an element that - comprises the representation of the resource that has been - updated. - </p> - - <p> - As an optimization and as a service to the requester, - if there are no extension elements this - element SHOULD be empty if the updated - representation does not differ from the representation sent in - the Put request message; that is, if the service accepted the - new representation verbatim. - </p> - - <p> - Such a response (an empty wst:PutResponse) implies that the - update request was successful in its entirety (assuming no - intervening mutating operations are performed). A service MAY - return the current representation of the resource as the - child of the wst:PutResponse element even in this - case, however. + This OPTIONAL element acts as a container for the full + representation of the resource. This element is intended for + use as an optimization to save the client the overhead of + having to perform a subsequent Get operation. A service + MAY include this element to return the current + representatin of the resource. This element MAY have no children + in cases where there is no resource representation. </p> </def> @@ -882,13 +898,15 @@ </s:Header> <s:Body> <wst:Put> - <xxx:Customer> - <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> - <xxx:address>321 Main Street</xxx:address> - <xxx:city>Manhattan Beach</xxx:city> - <xxx:state>CA</xxx:state> - <xxx:zip>90266</xxx:zip> - </xxx:Customer> + <wst:Representation> + <xxx:Customer> + <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> + <xxx:address>321 Main Street</xxx:address> + <xxx:city>Manhattan Beach</xxx:city> + <xxx:state>CA</xxx:state> + <xxx:zip>90266</xxx:zip> + </xxx:Customer> + </wst:Representation> </wst:Put> </s:Body> </s:Envelope> </eg> @@ -1116,6 +1134,9 @@ <kw>[Body]</kw> <wst:Create Dialect="<emph>xs:anyURI</emph>"? ...> + <wst:Representation ...> + <emph>xs:any</emph>? + >/wst:Representation>? <emph>xs:any</emph>* </wst:Create></eg> </example> @@ -1126,22 +1147,6 @@ <glist> <gitem> - <label> <kw>[Body]</kw>/wst:Create </label> - <def> - <p> - This REQUIRED element MAY contain zero or more child elements. - If this element does not contain a child element then the - resource will be created using default values. The first - child element, if present, MUST be the literal resource - representation, a representation of the constructor for the - resource, or other instructions for creating the resource. - If present, any extension elements MUST be included after - the mandated first child element. - </p> - </def> - </gitem> - - <gitem> <label> <kw>[Body]</kw>/wst:Create@Dialect </label> <def> <p> @@ -1156,6 +1161,20 @@ </def> </gitem> + <gitem> + <label> <kw>[Body]</kw>/wst:Create/wst:Representation </label> + <def> + <p> + This OPTIONAL element acts as a container for the full + representation of the resource. If this element is not + present the resource MUST be created using default values + (equivalent to a null constructor). This element MAY have + no children, in which case the resource MUST be created with + an empty representation (equivalent to an empty constructor). + </p> + </def> + </gitem> + </glist> <p> @@ -1186,60 +1205,36 @@ <kw>[Body]</kw> <wst:CreateResponse ...> <wst:ResourceCreated><emph>endpoint-reference</emph></wst:ResourceCreated> + <wst:Representation ...> + <emph>xs:any</emph>? + </wst:Representation>? <emph>xs:any</emph>* </wst:CreateResponse></eg> </example> <glist> <gitem> - <label> <kw>[Body]</kw>/wst:CreateResponse </label> + <label> <kw>[Body]</kw>/wst:CreateResponse/wst:ResourceCreated </label> <def> <p> - This REQUIRED element MUST have as its first child element - an Endpoint Reference (wst:ResourceCreated element) to the - newly created resource. - </p> - - <p> - A service MUST also return the current - representation of the new resource as the second child - of the wst:CreateResponse element if the - created representation logically differs from the - representation sent in the Create request message. That is, - the initial representation is returned if one or more - values present in Create message was specifically - overridden with a different value during resource - creation. If default values are used to complete a resource - creation which were not present in the Create message, then - this does not constitute a logical difference. - </p> - - <p> - As an optimization and as a service to the requestor, the - wst:CreateResponse element of the response message SHOULD be - empty, other than the ResourceCreated element, if the created - representation does not logically differ from the - representation sent in the Create request message and there - are no extension elements; that is, - if the service accepted the new representation or - creation instructions verbatim. Such a response indicates - that the request was completely successful - (assuming no intervening mutating - operations are performed). A service MAY return the current - representation of the resource as the second child of the - wst:CreateResponse element even in this case, however. + This required element MUST be an endpoint reference for the + newly created resource. This endpoint reference MUST + identify the resource for future Get, Put, and Delete + operations. </p> - </def> </gitem> <gitem> - <label> <kw>[Body]</kw>/wst:CreateResponse/wst:ResourceCreated </label> + <label> <kw>[Body]</kw>/wst:CreateResponse/wst:Representation </label> <def> <p> - This required element MUST be an endpoint reference for the - newly created resource. This endpoint reference MUST - identify the resource for future Get, Put, and Delete - operations. + This OPTIONAL element acts as a container for the full + representation of the resource. This element is intended for + use as an optimization to save the client the overhead of + having to perform a subsequent Get operation. A service + MAY include this element to return the current representation + of the resource. This element MAY have no children in cases + where there is no resource representation. </p> </def> </gitem> @@ -1270,13 +1265,15 @@ </s:Header> <s:Body> <wst:Create> - <xxx:Customer> - <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> - <xxx:address>123 Main Street</xxx:address> - <xxx:city>Manhattan Beach</xxx:city> - <xxx:state>CA</xxx:state> - <xxx:zip>90266</xxx:zip> - </xxx:Customer> + <wst:Representation> + <xxx:Customer> + <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> + <xxx:address>123 Main Street</xxx:address> + <xxx:city>Manhattan Beach</xxx:city> + <xxx:state>CA</xxx:state> + <xxx:zip>90266</xxx:zip> + </xxx:Customer> + </wst:Representation> </wst:Create> </s:Body> </s:Envelope> </eg> @@ -2120,6 +2117,13 @@ <xs:import namespace='http://www.w3.org/2005/08/addressing' schemaLocation='http://www.w3.org/2006/03/addressing/ws-addr.xsd' /> + + <xs:complexType name='Representation'> + <xs:sequence> + <xs:any minOccurs='0' processContents='lax'/> + </xs:sequence> + <xs:anyAttribute namespace='##other' processContents='lax'/> + </xs:complexType> <xs:element name='Get'> <xs:complexType> @@ -2134,6 +2138,7 @@ <xs:element name='GetResponse'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='1' maxOccurs='unbounded' namespace='##other' processContents='lax' /> </xs:sequence> <xs:anyAttribute namespace='##other' processContents='lax' /> @@ -2143,6 +2148,7 @@ <xs:element name='Put'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='1' maxOccurs='unbounded' namespace='##other' processContents='lax' /> </xs:sequence> <xs:attribute name='Dialect' type='xs:anyURI' use='optional' /> @@ -2153,6 +2159,7 @@ <xs:element name='PutResponse'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='1' namespace='##other' processContents='lax' /> </xs:sequence> <xs:anyAttribute namespace='##other' processContents='lax' /> @@ -2181,6 +2188,7 @@ <xs:element name='Create'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='0' maxOccurs='unbounded' namespace='##other' processContents='lax' /> </xs:sequence> <xs:attribute name='Dialect' type='xs:anyURI' use='optional' /> @@ -2192,6 +2200,7 @@ <xs:complexType> <xs:sequence> <xs:element name='ResourceCreated' type='wsa:EndpointReferenceType' /> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='0' namespace='##other' processContents='lax' /> </xs:sequence> <xs:anyAttribute namespace='##other' processContents='lax' /> @@ -2737,6 +2746,15 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7774">7774</loc> </td> </tr> + <tr> + <td> 2010/01/27 </td> + <td> DD </td> + <td> Added resolution of issues + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8302">8302</loc>, + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8180">8180</loc>, + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8299">8299</loc> + </td> + </tr> </tbody> </table> </div1> Index: wsfrag.html =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wsfrag.html,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- wsfrag.html 28 Jan 2010 19:04:14 -0000 1.45 +++ wsfrag.html 29 Jan 2010 04:00:59 -0000 1.46 @@ -53,8 +53,8 @@ 3.2 <a href="#Put">Put</a><br/> 3.3 <a href="#Delete">Delete</a><br/> 3.4 <a href="#Create">Create</a><br/> -4 <a href="#iddiv1_1_776">Examples</a><br/> - 4.1 <a href="#iddiv2_1_779">Examples</a><br/> +4 <a href="#iddiv1_1_779">Examples</a><br/> + 4.1 <a href="#iddiv2_1_782">Examples</a><br/> 5 <a href="#QName">QName Expression Language</a><br/> 6 <a href="#XPathL1">XPath Level 1 Expression Language</a><br/> 7 <a href="#XPath10">XPath 1.0 Expression Language</a><br/> @@ -63,10 +63,10 @@ 8.2 <a href="#InvalidExpression">InvalidExpression</a><br/> 8.3 <a href="#UnsupportedMode">UnsupportedMode</a><br/> 9 <a href="#metadata">WS-Fragment Metadata</a><br/> - 9.1 <a href="#iddiv2_1_1394">Fragment Assertion</a><br/> + 9.1 <a href="#iddiv2_1_1397">Fragment Assertion</a><br/> 10 <a href="#acks">Acknowledgements</a><br/> 11 <a href="#refs">References</a><br/> - 11.1 <a href="#iddiv2_1_1447">Normative References</a><br/> + 11.1 <a href="#iddiv2_1_1450">Normative References</a><br/> </p> <h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#Appendix_I__E2_80_93_XSD">XML Schema</a><br/> B <a href="#changelog">Change Log</a><br/> @@ -410,6 +410,9 @@ <b>[Body]</b> <wst:PutResponse ...> + <wst:Representation ...> + <em>xs:any</em> ? + </wst:Representation ...> ? <em>xs:any</em> * </wst:PutResponse></pre></div></div><p> There are no additional constraints beyond what WS-Transfer defines. @@ -422,8 +425,8 @@ This specification does not extend the Create operation defined in WS-Transfer. </p></div></div><div class="div1"> -<h2><a name="iddiv1_1_776" id="iddiv1_1_776"/>4 Examples</h2><div class="div2"> -<h3><a name="iddiv2_1_779" id="iddiv2_1_779"/>4.1 Examples</h3><p> +<h2><a name="iddiv1_1_779" id="iddiv1_1_779"/>4 Examples</h2><div class="div2"> +<h3><a name="iddiv2_1_782" id="iddiv2_1_782"/>4.1 Examples</h3><p> In the following examples, and Expression Language definitions, the following representation of a resource is used for informational purposes: @@ -828,7 +831,7 @@ doing so the endpoint is indicating that the corresponding WS-Fragment features are supported by that endpoint. </p><div class="div2"> -<h3><a name="iddiv2_1_1394" id="iddiv2_1_1394"/>9.1 Fragment Assertion</h3><p> +<h3><a name="iddiv2_1_1397" id="iddiv2_1_1397"/>9.1 Fragment Assertion</h3><p> The mechanism for indicating that a binding or endpoint conforms to the WS-Fragment specification is through the use of the Web Services Policy - Framework <a href="#wspolicy">[WS-Policy]</a> and Web Services Policy - @@ -896,7 +899,7 @@ Yves Lafon (W3C). </p></div><div class="div1"> <h2><a name="refs" id="refs"/>11 References</h2><div class="div2"> -<h3><a name="iddiv2_1_1447" id="iddiv2_1_1447"/>11.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> +<h3><a name="iddiv2_1_1450" id="iddiv2_1_1450"/>11.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> Key words for use in RFCs to Indicate Requirement Levels </cite></a> , S. Bradner, Author. @@ -1058,4 +1061,7 @@ <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8283">8283</a></td></tr><tr><td> 2010/01/26 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8181">8181</a></td></tr><tr><td> 2010/01/26 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8257">8257</a></td></tr><tr><td> 2010/01/28 </td><td> DD </td><td> Added resolution of issue - <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8229">8229</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8229">8229</a></td></tr><tr><td> 2010/01/27 </td><td> DD </td><td> Added resolution of issues + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8302">8302</a>, + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8180">8180</a>, + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8299">8299</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file Index: wst.html =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wst.html,v retrieving revision 1.99 retrieving revision 1.100 diff -u -d -r1.99 -r1.100 --- wst.html 28 Jan 2010 18:37:29 -0000 1.99 +++ wst.html 29 Jan 2010 04:00:59 -0000 1.100 @@ -59,12 +59,12 @@ 5.4 <a href="#UnknownResource">UnknownResource</a><br/> 6 <a href="#Security_Considerations">Security Considerations</a><br/> 7 <a href="#metadata">WS-Transfer Metadata</a><br/> - 7.1 <a href="#iddiv2_1_1357">TransferResource Assertion</a><br/> - 7.2 <a href="#iddiv2_1_1427">TransferResourceFactory Assertion</a><br/> + 7.1 <a href="#iddiv2_1_1368">TransferResource Assertion</a><br/> + 7.2 <a href="#iddiv2_1_1438">TransferResourceFactory Assertion</a><br/> 8 <a href="#acks">Acknowledgements</a><br/> 9 <a href="#refs">References</a><br/> - 9.1 <a href="#iddiv2_1_1480">Normative References</a><br/> - 9.2 <a href="#iddiv2_1_1653">Informative References</a><br/> + 9.1 <a href="#iddiv2_1_1491">Normative References</a><br/> + 9.2 <a href="#iddiv2_1_1664">Informative References</a><br/> </p> <h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#Appendix_I__E2_80_93_XSD">XML Schema</a><br/> B <a href="#WSDL">WSDL</a><br/> @@ -83,15 +83,25 @@ with the confirmed representation, but this is not a guarantee, even in the absence of any third parties. The server MAY change the representation of a resource, MAY remove a resource entirely, or MAY bring back a resource that - was deleted.</p><p>For instance, the server might store resource state information on a disk - drive. If that drive crashes and the server recovers state information from a - backup tape, changes that occurred after the backup was made will be - lost.</p><p>A server MAY have other operational processes that change resource state - information. A server might run a background process that examines resources - for objectionable content and deletes any such resources it finds. A server - can purge resources that have not been accessed for some period of time. A - server could apply storage quotas that cause it to occasionally purge - resources.</p><p>In essence, the confirmation by a service of having processed a request to + was deleted.</p><p> + For instance, the server might store resource state information on a + disk drive. If that drive crashes and the server recovers state + information from a backup tape, changes that occurred after the + backup was made will be lost. + </p><p> + A server MAY have other operational processes that change resource state + information. For example, a server could purge resources that have not + been accessed for some period of time. + </p><p> + In addition to this, there MAY be application or process specific + reasons for a server to augment or transform the representation + provided by an update or create operation. For example, the server + might populate the optional properties of a newly created resource + with meaningful default values. + </p><p> + Finally all clients need to be aware that there might be other clients + simultaneously accessing, creating, and updating the same resources. + </p><p>In essence, the confirmation by a service of having processed a request to create, modify, or delete a resource implies a commitment only at the instant that the confirmation was generated. While the usual case is that resources are long-lived and stable, there are no guarantees, and clients @@ -294,13 +304,19 @@ <b>[Body]</b> <wst:GetResponse ...> + <wst:Representation ...> + <em>xs:any</em>? + </wst:Representation>? <em>xs:any</em>* </wst:GetResponse></pre></div></div><p> The following describes additional, normative constraints on the outline listed above: - </p><dl><dt class="label"><b>[Body]</b>/wst:GetResponse </dt><dd><p> - This REQUIRED element MUST have as its first child element, - an element that comprises the representation of the resource. + </p><dl><dt class="label"><b>[Body]</b>/wst:GetResponse/wst:Representation </dt><dd><p> + This element acts as a container for the full representation of + the resource. This element MUST be present if the corresponding + Get request did not specify a Dialect attribute. This element + MAY have no children in cases where there is no resource + representation. </p></dd></dl><p> Other components of the outline above are not further constrained by this specification. @@ -357,13 +373,15 @@ </s:Header> <s:Body> <wst:GetResponse> - <xxx:Customer> - <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> - <xxx:address>123 Main Street</xxx:address> - <xxx:city>Manhattan Beach</xxx:city> - <xxx:state>CA</xxx:state> - <xxx:zip>90266</xxx:zip> - </xxx:Customer> + <wst:Representation> + <xxx:Customer> + <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> + <xxx:address>123 Main Street</xxx:address> + <xxx:city>Manhattan Beach</xxx:city> + <xxx:state>CA</xxx:state> + <xxx:zip>90266</xxx:zip> + </xxx:Customer> + </wst:Representation> </wst:GetResponse> </s:Body> </s:Envelope></pre></div></div><p>In this example, the representation of the resource is the following XML @@ -399,16 +417,14 @@ <b>[Body]</b> <wst:Put Dialect="<em>xs:anyURI</em>"? ...> + <wst:Representation ...> + <em>xs:any</em>? + <wst:Representation>? <em>xs:any</em>* </wst:Put></pre></div></div><p> The following describes additional, normative constraints on the outline listed above: - </p><dl><dt class="label"><b>[Body]</b>/wst:Put </dt><dd><p> - This REQUIRED element MUST have as its first child element, - an element that comprises the representation of the resource - that is to be replaced or instructions for updating the - resource. - </p></dd><dt class="label"><b>[Body]</b>/wst:Put@Dialect </dt><dd><p> + </p><dl><dt class="label"><b>[Body]</b>/wst:Put@Dialect </dt><dd><p> When this OPTIONAL attribute is present it contains a IRI that refers to additional information for the service on how to process this element. If the attribute is present but the @@ -421,6 +437,12 @@ this dialect IRI. Use of this IRI indicates that the contents of the Put element MUST be processed as specified by the WS-Fragment <a href="#WsFrag">[WS-Fragment]</a> specification. + </p></dd><dt class="label"><b>[Body]</b>/wst:Put/wst:Representation </dt><dd><p> + This element acts as a container for the full representation + of the resource. This element MUST be present if the Dialect + attribute is absent. This element MAY have no children. This + case MUST be interpreted as a request to remove the + resource's representation, not the resource itself. </p></dd></dl><p> If the request message reaches a conformant implementation of WS-Transfer and the message refers to an unknown resource, then the @@ -461,26 +483,18 @@ <b>[Body]</b> <wst:PutResponse ...> + <wst:Representation ...> + <em>xs:any</em>? + </wst:Representation>? <em>xs:any</em>* - </wst:PutResponse></pre></div></div><dl><dt class="label"><b>[Body]</b>/wst:PutResponse </dt><dd><p> - This REQUIRED element, if it contains any child elements, - MUST have as its first child element, an element that - comprises the representation of the resource that has been - updated. - </p><p> - As an optimization and as a service to the requester, - if there are no extension elements this - element SHOULD be empty if the updated - representation does not differ from the representation sent in - the Put request message; that is, if the service accepted the - new representation verbatim. - </p><p> - Such a response (an empty wst:PutResponse) implies that the - update request was successful in its entirety (assuming no - intervening mutating operations are performed). A service MAY - return the current representation of the resource as the - child of the wst:PutResponse element even in this - case, however. + </wst:PutResponse></pre></div></div><dl><dt class="label"><b>[Body]</b>/wst:PutResponse/wst:Representation </dt><dd><p> + This OPTIONAL element acts as a container for the full + representation of the resource. This element is intended for + use as an optimization to save the client the overhead of + having to perform a subsequent Get operation. A service + MAY include this element to return the current + representatin of the resource. This element MAY have no children + in cases where there is no resource representation. </p></dd></dl><p>Other components of the outline above are not further constrained by this specification.</p><p>The following shows a sample SOAP envelope containing a Put request:</p><div class="exampleOuter"><div class="exampleInner"><pre><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" @@ -508,13 +522,15 @@ </s:Header> <s:Body> <wst:Put> - <xxx:Customer> - <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> - <xxx:address>321 Main Street</xxx:address> - <xxx:city>Manhattan Beach</xxx:city> - <xxx:state>CA</xxx:state> - <xxx:zip>90266</xxx:zip> - </xxx:Customer> + <wst:Representation> + <xxx:Customer> + <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> + <xxx:address>321 Main Street</xxx:address> + <xxx:city>Manhattan Beach</xxx:city> + <xxx:state>CA</xxx:state> + <xxx:zip>90266</xxx:zip> + </xxx:Customer> + </wst:Representation> </wst:Put> </s:Body> </s:Envelope> </pre></div></div><p>The following shows the corresponding response message indicating @@ -668,20 +684,14 @@ <b>[Body]</b> <wst:Create Dialect="<em>xs:anyURI</em>"? ...> + <wst:Representation ...> + <em>xs:any</em>? + >/wst:Representation>? <em>xs:any</em>* </wst:Create></pre></div></div><p> The following describes additional, normative constraints on the outline listed above: - </p><dl><dt class="label"><b>[Body]</b>/wst:Create </dt><dd><p> - This REQUIRED element MAY contain zero or more child elements. - If this element does not contain a child element then the - resource will be created using default values. The first - child element, if present, MUST be the literal resource - representation, a representation of the constructor for the - resource, or other instructions for creating the resource. - If present, any extension elements MUST be included after - the mandated first child element. - </p></dd><dt class="label"><b>[Body]</b>/wst:Create@Dialect </dt><dd><p> + </p><dl><dt class="label"><b>[Body]</b>/wst:Create@Dialect </dt><dd><p> When this OPTIONAL attribute is present it contains a IRI that refers to additional information for the service on how to process this element. If the attribute is present but the @@ -689,6 +699,13 @@ wst:UnknownDialect fault. There is no default value for the attribute. If the attribute is absent, then the base behavior is used. + </p></dd><dt class="label"><b>[Body]</b>/wst:Create/wst:Representation </dt><dd><p> + This OPTIONAL element acts as a container for the full + representation of the resource. If this element is not + present the resource MUST be created using default values + (equivalent to a null constructor). This element MAY have + no children, in which case the resource MUST be created with + an empty representation (equivalent to an empty constructor). </p></dd></dl><p> A Create request MUST be targeted at a resource factory capable of creating the desired new resource. This factory is distinct from the @@ -711,42 +728,23 @@ <b>[Body]</b> <wst:CreateResponse ...> <wst:ResourceCreated><em>endpoint-reference</em></wst:ResourceCreated> + <wst:Representation ...> + <em>xs:any</em>? + </wst:Representation>? <em>xs:any</em>* - </wst:CreateResponse></pre></div></div><dl><dt class="label"><b>[Body]</b>/wst:CreateResponse </dt><dd><p> - This REQUIRED element MUST have as its first child element - an Endpoint Reference (wst:ResourceCreated element) to the - newly created resource. - </p><p> - A service MUST also return the current - representation of the new resource as the second child - of the wst:CreateResponse element if the - created representation logically differs from the - representation sent in the Create request message. That is, - the initial representation is returned if one or more - values present in Create message was specifically - overridden with a different value during resource - creation. If default values are used to complete a resource - creation which were not present in the Create message, then - this does not constitute a logical difference. - </p><p> - As an optimization and as a service to the requestor, the - wst:CreateResponse element of the response message SHOULD be - empty, other than the ResourceCreated element, if the created - representation does not logically differ from the - representation sent in the Create request message and there - are no extension elements; that is, - if the service accepted the new representation or - creation instructions verbatim. Such a response indicates - that the request was completely successful - (assuming no intervening mutating - operations are performed). A service MAY return the current - representation of the resource as the second child of the - wst:CreateResponse element even in this case, however. - </p></dd><dt class="label"><b>[Body]</b>/wst:CreateResponse/wst:ResourceCreated </dt><dd><p> + </wst:CreateResponse></pre></div></div><dl><dt class="label"><b>[Body]</b>/wst:CreateResponse/wst:ResourceCreated </dt><dd><p> This required element MUST be an endpoint reference for the newly created resource. This endpoint reference MUST identify the resource for future Get, Put, and Delete operations. + </p></dd><dt class="label"><b>[Body]</b>/wst:CreateResponse/wst:Representation </dt><dd><p> + This OPTIONAL element acts as a container for the full + representation of the resource. This element is intended for + use as an optimization to save the client the overhead of + having to perform a subsequent Get operation. A service + MAY include this element to return the current representation + of the resource. This element MAY have no children in cases + where there is no resource representation. </p></dd></dl><p>Other components of the outline above are not further constrained by this specification.</p><p>The following shows a sample SOAP envelope containing a Create request:</p><div class="exampleOuter"><div class="exampleInner"><pre><s:Envelope @@ -769,13 +767,15 @@ </s:Header> <s:Body> <wst:Create> - <xxx:Customer> - <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> - <xxx:address>123 Main Street</xxx:address> - <xxx:city>Manhattan Beach</xxx:city> - <xxx:state>CA</xxx:state> - <xxx:zip>90266</xxx:zip> - </xxx:Customer> + <wst:Representation> + <xxx:Customer> + <xxx:first>Roy</xxx:first><xxx:last>Hill</xxx:last> + <xxx:address>123 Main Street</xxx:address> + <xxx:city>Manhattan Beach</xxx:city> + <xxx:state>CA</xxx:state> + <xxx:zip>90266</xxx:zip> + </xxx:Customer> + </wst:Representation> </wst:Create> </s:Body> </s:Envelope> </pre></div></div><p>The following shows the corresponding response message indicating @@ -945,7 +945,7 @@ that indicate a particular security mechanism used to protect the WS-Transfer operations supported by this endpoint. </p><div class="div2"> -<h3><a name="iddiv2_1_1357" id="iddiv2_1_1357"/>7.1 TransferResource Assertion</h3><p> +<h3><a name="iddiv2_1_1368" id="iddiv2_1_1368"/>7.1 TransferResource Assertion</h3><p> The mechanism for indicating that a binding or endpoint conforms to the WS-Transfer specification's definition of a Transfer Resource is through the use of the Web Services @@ -1013,7 +1013,7 @@ the Global Element Declaration (GED) or type of this resource. This QName can be used in order to retrieve the schema of the resource. </p></dd></dl></div><div class="div2"> -<h3><a name="iddiv2_1_1427" id="iddiv2_1_1427"/>7.2 TransferResourceFactory Assertion</h3><p> +<h3><a name="iddiv2_1_1438" id="iddiv2_1_1438"/>7.2 TransferResourceFactory Assertion</h3><p> The mechanism for indicating that a binding or endpoint conforms to the WS-Transfer specification's definition of a Transfer Resource Factory is through the use of the Web Services @@ -1085,7 +1085,7 @@ Yves Lafon (W3C). </p></div><div class="div1"> <h2><a name="refs" id="refs"/>9 References</h2><div class="div2"> -<h3><a name="iddiv2_1_1480" id="iddiv2_1_1480"/>9.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> +<h3><a name="iddiv2_1_1491" id="iddiv2_1_1491"/>9.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> Key words for use in RFCs to Indicate Requirement Levels </cite></a> , S. Bradner, Author. @@ -1153,7 +1153,7 @@ , P. Biron, A. Malhotra, Editors. World Wide Web Consortium (W3C), 28 October 2004. Available at <a href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>.</dd></dl></div><div class="div2"> -<h3><a name="iddiv2_1_1653" id="iddiv2_1_1653"/>9.2 Informative References</h3><dl><dt class="label"><a name="WsFrag" id="WsFrag"/>WS-Fragment</dt><dd><a href="http://www.w3.org/TR/ws-fragment"><cite> +<h3><a name="iddiv2_1_1664" id="iddiv2_1_1664"/>9.2 Informative References</h3><dl><dt class="label"><a name="WsFrag" id="WsFrag"/>WS-Fragment</dt><dd><a href="http://www.w3.org/TR/ws-fragment"><cite> W3C Working Group Draft, "Web Services Fragment (WS-Fragment) 1.0" </cite></a> , D. Davis, et al., Editors. @@ -1203,6 +1203,13 @@ <xs:import namespace='http://www.w3.org/2005/08/addressing' schemaLocation='http://www.w3.org/2006/03/addressing/ws-addr.xsd' /> + + <xs:complexType name='Representation'> + <xs:sequence> + <xs:any minOccurs='0' processContents='lax'/> + </xs:sequence> + <xs:anyAttribute namespace='##other' processContents='lax'/> + </xs:complexType> <xs:element name='Get'> <xs:complexType> @@ -1217,6 +1224,7 @@ <xs:element name='GetResponse'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='1' maxOccurs='unbounded' namespace='##other' processContents='lax' /> </xs:sequence> <xs:anyAttribute namespace='##other' processContents='lax' /> @@ -1226,6 +1234,7 @@ <xs:element name='Put'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='1' maxOccurs='unbounded' namespace='##other' processContents='lax' /> </xs:sequence> <xs:attribute name='Dialect' type='xs:anyURI' use='optional' /> @@ -1236,6 +1245,7 @@ <xs:element name='PutResponse'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='1' namespace='##other' processContents='lax' /> </xs:sequence> <xs:anyAttribute namespace='##other' processContents='lax' /> @@ -1264,6 +1274,7 @@ <xs:element name='Create'> <xs:complexType> <xs:sequence> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='0' maxOccurs='unbounded' namespace='##other' processContents='lax' /> </xs:sequence> <xs:attribute name='Dialect' type='xs:anyURI' use='optional' /> @@ -1275,6 +1286,7 @@ <xs:complexType> <xs:sequence> <xs:element name='ResourceCreated' type='wsa:EndpointReferenceType' /> + <xs:element name='Representation' type='tns:Representation' minOccurs='1'/> <xs:any minOccurs='0' namespace='##other' processContents='lax' /> </xs:sequence> <xs:anyAttribute namespace='##other' processContents='lax' /> @@ -1481,4 +1493,7 @@ <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8176">8176</a></td></tr><tr><td> 2010/01/19 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8301">8301</a></td></tr><tr><td> 2010/01/19 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8283">8283</a></td></tr><tr><td> 2010/01/26 </td><td> DD </td><td> Added resolution of issue - <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7774">7774</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7774">7774</a></td></tr><tr><td> 2010/01/27 </td><td> DD </td><td> Added resolution of issues + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8302">8302</a>, + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8180">8180</a>, + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8299">8299</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file Index: wsfrag.xml =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wsfrag.xml,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- wsfrag.xml 28 Jan 2010 19:04:15 -0000 1.47 +++ wsfrag.xml 29 Jan 2010 04:00:59 -0000 1.48 @@ -786,6 +786,9 @@ <kw>[Body]</kw> <wst:PutResponse ...> + <wst:Representation ...> + <emph>xs:any</emph> ? + </wst:Representation ...> ? <emph>xs:any</emph> * </wst:PutResponse></eg> </example> @@ -2099,6 +2102,15 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8229">8229</loc> </td> </tr> + <tr> + <td> 2010/01/27 </td> + <td> DD </td> + <td> Added resolution of issues + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8302">8302</loc>, + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8180">8180</loc>, + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=8299">8299</loc> + </td> + </tr> </tbody> </table> </div1>
Received on Friday, 29 January 2010 04:01:04 UTC