- From: Marc Hadley <Marc.Hadley@Sun.COM>
- Date: Wed, 02 Feb 2005 17:51:18 -0500
- To: Ugo Corda <UCorda@SeeBeyond.com>
- Cc: public-ws-async-tf@w3.org
On Feb 2, 2005, at 5:44 PM, Ugo Corda wrote: > So, if I understand your proposal well, in a WSDL request/response the > "out" message could be bound to a SOAP 1.2 Response MEP. But what would > the "in" message be bound to? > Actually I think the whole thing is bound to the SOAP 1.2 request-response MEP - note that table 17 in [1] already supports 3XX status codes so you just need to follow what the HTTP spec says to do for 303 as I outlined. Marc. [1] http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#http- reqbindwaitstate > Ugo > >> -----Original Message----- >> From: public-ws-async-tf-request@w3.org >> [mailto:public-ws-async-tf-request@w3.org] On Behalf Of Marc Hadley >> Sent: Wednesday, February 02, 2005 1:46 PM >> To: public-ws-async-tf@w3.org >> Subject: HTTP based async request-response >> >> >> >> I took an action to outline one approach to async request-response >> using HTTP. Basically the request is sent as normal as the >> entity body >> of a HTTP POST request but instead of returning the response in the >> HTTP entity body, the server responds with a 303 (See other) status >> code and includes a Location header that gives a URI from which the >> response can be retrieved. The client then uses a new HTTP >> GET request >> to retrieve the response. E.g. >> >> Initial request: >> >> POST /StockQuote HTTP/1.1 >> Host: stockquote.example.com >> Content-Type: application/soap+xml >> Content-Length: nnnn >> >> <env:Envelope xmlns:env="..."> >> ... >> </env:Envelope> >> >> Response: >> >> HTTP/1.1 303 See Other >> Location: http://stockquote.example.com/someuniqueidentifier >> Retry-After: 120 >> Content-Type: text/html >> Content-Length: 0 >> >> Susequent request to retrieve response: >> >> GET /someuniqueidentifier HTTP/1.1 >> Host: stockquote.example.com >> >> Response: >> >> HTTP/1.1 200 OK >> Content-Type: application/soap+xml >> Content-Length: nnnn >> >> <env:Envelope xmlns:env="..."> >> ... >> </env:Envelope> >> >> If the response isn't yet ready the server can send back another 303 >> indicating when the request may be retried using the Retry-After >> header. >> >> I quite like this approach since it pushes the asynchrony >> down into the >> HTTP layer and doesn't require anything new in WSDL or SOAP. The >> existing SOAP 1.2 HTTP binding supports this usage. >> >> Marc. >> >> --- >> Marc Hadley <marc.hadley at sun.com> >> Web Technologies and Standards, Sun Microsystems. >> >> >> >> --- Marc Hadley <marc.hadley at sun.com> Web Technologies and Standards, Sun Microsystems.
Received on Wednesday, 2 February 2005 22:51:18 UTC