Re: [whenToUseGet] PUT/POST & GET with SOAP

Ian Jacobs writes:

> > A couple of suggestions:
> > 
> > * The "Ongoing work on GET in Web Services" section [2] has a good 
> > reference to the SOAP support for RPC with GET, but you might also 
want to 
> > link [3], which describes SOAP's WebMethod feature.  As you may be 
aware, 
> > use of any flavor of RPC is optional in SOAP.  Various alternatives 
are 
> > possible, and a "document" style is commonly employed.  The WebMethod 
> > feature, which is supported by the normative SOAP HTTP binding[4], 
allows 
> > get to be used with any type of SOAP traffic, whether RPC or not.  I 
> > expect and hope that many non-RPC users of SOAP will avail themselves 
of 
> > the opportunity to name resources with URIs, and to use get when 
> > appropriate.
> 
> The reference is helpful, thank you. 
> 
> I am going to go out on a limb and ask whether you could draft a few
> sentences to be included.

Sure, I'll try, with the proviso that this input has no official standing 
as far as the XMLP WG is concerned:

<original>

6 Ongoing work on GET in Web Services

Since the first publication of this finding, W3C's XML Protocol Working 
Group has added a GET method to SOAP 1.2 (cf. section 4.1.2 of 
[SOAPADJUNCTS].

Section 3 of WSDL 1.2 Bindings [WSDL] provides a binding to HTTP GET, 
which makes it possible to respect the principle of using GET for safe 
operations. However, to represent safety in a more straightforward manner, 
it should be a property of operations themselves, not just a feature of 
bindings.
</original>

<suggested>
6 Ongoing work on GET in Web Services

Since the first publication of this finding, W3C's XML Protocol Working 
Group has enhanced SOAP Version 1.2 to support use of GET for safe 
operations (cf. section 6.4 of [SOAPADJUNCTS].)  Specific conventions are 
also now suggested for use of GET in conjunction with SOAP Remote 
Procedure Calls (cf. section 4.1.2 of [SOAPADJUNCTS].)  The SOAP HTTP 
binding (cf. section 7 of [SOAPADJUNCTS]) has been modified accordingly, 
and thus supports appropriate use of GET and POST in for both RPC-oriented 
and non-RPC SOAP message exchanges.  Indeed, non-normative conventions are 
suggested which allow traditional Web servers (I.e. those not specifically 
enabled for SOAP support) to interoperate with SOAP clients using GET and 
resource representations in media type application/soap+xml (cf. section 
7.1.3 of [SOAPADJUNCTS]).

Section 3 of WSDL 1.2 Bindings [WSDL] provides a binding to HTTP GET, 
which makes it possible to respect the principle of using GET for safe 
operations. However, to represent safety in a more straightforward manner, 
it should be a property of operations themselves, not just a feature of 
bindings.
</suggested> 

You may want to clean up the wording, but I think the above should be 
sufficient to point you in the right direction.  If there's anything else 
I can do to help, please let me know.

------------------------------------------------------------------
Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------







"Ian B. Jacobs" <ij@w3.org>
05/13/2003 12:15 AM

 
        To:     noah_mendelsohn@us.ibm.com
        cc:     www-tag@w3.org, xml-dist-app@w3.org
        Subject:        Re: [whenToUseGet]  PUT/POST & GET with SOAP


On Mon, 2003-05-12 at 22:44, noah_mendelsohn@us.ibm.com wrote:
> I've taken a look at the latest draft of:  "URIs, Addressability, and 
the 
> use of HTTP GET and POST".[1]  Overall, I think it's really excellent. 

Thank you, Noah. It's really starting to represent a bunch of input from
the community! 

> A couple of suggestions:
> 
> * The "Ongoing work on GET in Web Services" section [2] has a good 
> reference to the SOAP support for RPC with GET, but you might also want 
to 
> link [3], which describes SOAP's WebMethod feature.  As you may be 
aware, 
> use of any flavor of RPC is optional in SOAP.  Various alternatives are 
> possible, and a "document" style is commonly employed.  The WebMethod 
> feature, which is supported by the normative SOAP HTTP binding[4], 
allows 
> get to be used with any type of SOAP traffic, whether RPC or not.  I 
> expect and hope that many non-RPC users of SOAP will avail themselves of 

> the opportunity to name resources with URIs, and to use get when 
> appropriate.

The reference is helpful, thank you. 

I am going to go out on a limb and ask whether you could draft a few
sentences to be included.

> * At several points the draft recommends using POST, but never PUT, 
> implying that perhaps use of PUT is always inappropriate.  As I 
suggested 
> in [4], there may be an opportunity to do some detailed and valuable 
> clarification on the PUT/POST distinction.  At the very least, it would 
> seem appropriate to indicate that PUT or POST should be used as 
> appropriate, perhaps just referring the reader back to RFC 2396 for 
> details?

Yes, that seems appropriate to avoid a misunderstanding; this finding
is limited in scope to discussion of GET and POST (and HEAD a little).

I am following the discussion of PUT to monitor whether there is
an architectural issue that needs discusion in the mime type
finding, in a separate finding, or simply in the architecture document.
I've not yet understood what the architectural issue is, or whether
RFC 2616 requires clarification for the scenario at the beginning
of the thread: what to do when no header sent by the client to the
server. 

> Thank you.  BTW:  these are my personal comments, not sent on behalf of 
> the protocols WG.  Again, I think this is overall a terrific job!

Thank you,

 _ Ian

> 
> Noah
> 
> 
> [1] http://www.w3.org/2001/tag/doc/whenToUseGet.html
> [2] http://www.w3.org/2001/tag/doc/whenToUseGet.html#webservices
> [3] http://www.w3.org/TR/2003/PR-soap12-part2-20030507/#WebMethodFeature
> [4] http://lists.w3.org/Archives/Public/www-tag/2003May/0041.html
> 
> ------------------------------------------------------------------
> Noah Mendelsohn                              Voice: 1-617-693-4036
> IBM Corporation                                Fax: 1-617-693-8676
> One Rogers Street
> Cambridge, MA 02142
> ------------------------------------------------------------------
-- 
Ian Jacobs (ij@w3.org)   http://www.w3.org/People/Jacobs
Tel:                     +1 718 260-9447

Received on Friday, 16 May 2003 12:04:37 UTC