+1 This is looking good. Shall we incorporate the changes in to the latest
ESB version and verify the fix with the integration tests.


On Thu, Jan 16, 2014 at 11:45 AM, Jeewantha Dharmaparakrama <
[email protected]> wrote:

> Hi Folks,
>
> We had been implementing this feature last week and thought it needed
> public attention. First of all, "HTTP/1.1 DELETE with entity body" does NOT
> violate the spec [1] [2]. But the initial design of apache-httpcomponents
> considers DELETE as a "Non entity enclosing request". To support this
> feature, we introduced a third category "Possible entity enclosing request"
> because now a DELETE can be of either type, with or without entity body.
>
> Once the whole HTTP request is read, a "Possible entity enclosing request"
> will create the correct object "entity enclosing request" or a "non entity
> enclosing request" by looking at it headers. We look at the header
> Content-Length to determine if the request has a payload.
>
> So now, the following is a perfectly valid HTTP DELETE request.
>
> DELETE /order/delete HTTP/1.1
> Accept-Encoding: gzip,deflate
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: "urn:echoInt"
> Content-Length: 290
> Host: jeewantha:8280
> Connection: Keep-Alive
> User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:echo="http://echo.services.core.carbon.wso2.org";>
> <soapenv:Header/>   <soapenv:Body>      <echo:echoInt>
> <!--Optional:-->         <in>5</in>      </echo:echoInt>
> </soapenv:Body></soapenv:Envelope>
>
> Note that this is a sample POST to StockQuoteService of which I changed
> the method to DELETE. In other words, DELETE with payloads work exactly as
> POSTs.
>
> [1] http://stackoverflow.com/a/299696/1411653
> [2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.7
>
> Thanks,
> Jeewantha
>
> --
> Jeewantha Dharmaparakrama
> Software Engineer; WSO2, Inc.; http://wso2.com/
> Phone : (+94) 774726790
> Skype : prasad.jeewantha
> LinkedIn : http://www.linkedin.com/in/jeewanthad
> Twitter: https://twitter.com/jeewamp
> Blog: http://jeewanthad.blogspot.com/
>



-- 
Kasun Indrasiri
Software Architect
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: +94 77 556 5206
Blog : http://kasunpanorama.blogspot.com/
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to