RE: whenToUseGet-7 Making SOAP Restful

Stuart Williams writes:

>>  it occurred to me that simply 'overloading' 
>> a null request-message (ie. a requesting 
>> node that requests an exchange and presents 
>> no outbound infoset from which to from the 
>> entity body of an HTTP request) to use 
>> HTTP GET would yield something of very similar
>> spirit to your proposal.

I think you're proposing a simple HTTP GET, returning a SOAP envelope. 
That's an OK thing to do, but at the responding node it's not SOAP; the 
SOAP processing model doesn't apply, SOAP faults can't be generated, it 
can't be relayed through a SOAP intermediary perhaps through another 
underlying protocol.  It's essentially an HTTP pull, causing a one-way 
SOAP message to be sent to the requestor.  Sensible, but different. 

My SOAP envelope is not magical (sorry for the cute phraseology).  It's a 
legal and appropriate SOAP envelope that says exactly what it means:  GET 
the resource.  The fact that it has a clean mapping to HTTP is 
intentional, but not its only use.  It can appropriately be used in any 
context where a RESTful GET is intended.  In principle (though I ruled it 
out in the initial proposal), it can be extended to be used with other 
SOAP headers, as long as we watch out for safety issues.  Most 
importantly, it's a SOAP message useable with the usual request/response 
message exchange pattern, and processed by the usual SOAP processing rules 
at the responding node.

That said, I have no problem with a (possibly) additional specification 
calling for a simple HTTP GET of a SOAP message (interestingly, and this 
is intentional, the results on the wire would be essentially 
indistinguishable).  The difference comes in whether the responding node 
is implemented as a SOAP endpoint or merely an HTTP server.  If we want to 
distinguish these cases, we can make appropriate use of SOAPAction.

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

Received on Friday, 26 April 2002 12:00:47 UTC