<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>6533</bug_id>
          
          <creation_ts>2009-02-05 09:51:40 +0000</creation_ts>
          <short_desc>Transfer: Safeness of operations</short_desc>
          <delta_ts>2009-09-16 07:57:40 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WS-Resource Access</product>
          <component>Transfer</component>
          <version>FPWD</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>REMIND</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>hasProposal</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yves Lafon">ylafon</reporter>
          <assigned_to name="Yves Lafon">ylafon</assigned_to>
          <cc>bob</cc>
    
    <cc>dug</cc>
          
          <qa_contact name="notifications mailing list for WS Resource Access">public-ws-resource-access-notifications</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23474</commentid>
    <comment_count>0</comment_count>
    <who name="Yves Lafon">ylafon</who>
    <bug_when>2009-02-05 09:51:40 +0000</bug_when>
    <thetext>WS-Transfer does not define the &apos;safe&apos; or &apos;idempotent&apos; properties of the &quot;verbs&quot;.
Whils in HTTP is it safe to reissue a GET or a HEAD as no side effects are expected, WS-T doesn&apos;t say a word about reissuing a WS-T GET when something happens (like at the underlying transport level).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24030</commentid>
    <comment_count>1</comment_count>
    <who name="Yves Lafon">ylafon</who>
    <bug_when>2009-03-03 13:34:16 +0000</bug_when>
    <thetext>(form msg: &lt;http://www.w3.org/mid/Pine.LNX.4.64.0903030824290.23599@ubzre.j3.bet&gt; )

The proposal is as follows,
1/ add a paragraph to explain what &apos;safe&apos; and &apos;idempotent&apos; means, and the impact
on operations (like being able to redo a request when there is a failure at the
underlying protocol level, or using a timeout when that information is not
available, like UDP packets).

The text might reference http://tools.ietf.org/html/rfc2616#section-9.1
directly or even
http://tools.ietf.org/html/draft-ietf-httpbis-method-registrations-01
or we can come up with our own definitions if needed (that is the main point of
discussion I guess).

2/ for each resource operation, add a small table with the safeness and
idempotent properties (and this table would also act as a short summary for each
paragrahp, so include the values of /s:Envelope/s:Header/wsa:Action, for
example).

[1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=6533
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24033</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-03-03 19:58:02 +0000</bug_when>
    <thetext>proposal on 2009-03-03 at http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Mar/0006.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24178</commentid>
    <comment_count>3</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-03-11 20:20:16 +0000</bug_when>
    <thetext>Action-45 on Yves
approach is fine, looking for red-line text</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26512</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-08-18 19:20:04 +0000</bug_when>
    <thetext>proposal at http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Aug/0040.html

In &quot;Resource Operation&quot; Add a paragraph names &quot;Safeness of Operations&quot; 
with the following text.

[[
Safe operations means that the action executed on behalf of the 
user or service requesting the operation will not result in any side 
effect imputable to the requester. It means that in case of an underlying 
protocol error that might get unnoticed, resending the same request can be 
done automatically.

Only [ref to Get] Get is defined as a safe operation.
]]

We could add that resending the request makes no implication in getting 
back the same response as time has changed (like &quot;Get the current time&quot;)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26674</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-08-26 01:48:37 +0000</bug_when>
    <thetext>Action-98 on Yves</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26737</commentid>
    <comment_count>6</comment_count>
    <who name="Yves Lafon">ylafon</who>
    <bug_when>2009-08-28 14:38:27 +0000</bug_when>
    <thetext>proposal at http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Aug/0082.html
&lt;&lt;
The text in WS-T should stay the same (see [1])

However, each operation should state explicitely that it is safe or not, 
so for wst:Get
[
This operation is safe [ref Safeness of Operations].
] (a)
[
This operation is NOT safe [ref wst:Safeness of Operations].
] (b)

* in RT, no new operations are definet (just wst:Get extended but with no 
semantic change).

* in MEX

After the first paragraph of &apos;GetMetadata&apos;, add (a)

* in Eventing

After the first example in &apos;Subscribe&apos;, add (b)
After the first sentence in &apos;Renew&apos;, add (b)
After the first example in &apos;GetStatus&apos;, add (a)
After the first sentence in &apos;Unsubscribe&apos;, add (b)

* in Enumeration

After the first paragraph in &apos;Enumerate&apos;, add (b)
After the first example in &apos;Pull&apos;, add (b)
After the first sentence in &apos;Renew&apos;, add (b)
After the first example in &apos;GetStatus&apos;, add (a)
After the first example in &apos;Release&apos;, add (b)


[1] http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Aug/0040.html
&gt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26792</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-09-02 08:41:43 +0000</bug_when>
    <thetext>2009-09-01 resolved with comments #4 and #6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26803</commentid>
    <comment_count>8</comment_count>
    <who name="Doug Davis">dug</who>
    <bug_when>2009-09-03 00:04:01 +0000</bug_when>
    <thetext>&gt; Yves,
&gt;  For the one operation in each spec that has been deemed &apos;safe&apos;, I was
&gt; thinking of just adding this text after the definition of the operation:
&gt;
&gt; This operation will not result in any side effect imputable to the
&gt; requester. This means that in case of an underlying protocol error that
&gt; might get unnoticed, resending the same request can be done automatically.
&gt;
&gt; Does this work for you?

Yes, with a minor modification, can we say &quot;This operation is safe; It 
will not result in...&quot; ?
(ie: I&apos;d like to keep the &apos;safe&apos; in the text somewhere)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>