On 25/07/13 19:01, JE wrote:
I am trying to use the CXF JaxRS client (version 2.7.0) and am having an
issue with sending a DELETE with a message body. The server throws an
HTTP/500 due to an end of stream
Caused by: java.io.EOFException: No content to map to Object due to end of
input
It works fine when I use Postman in chrome.
The main difference is that I don't see a Content-Length header in the
output of the client.
Is this a known limitation? I am wondering if the client is trying to use
chunked encoding instead of calculating a Content-Length? Is there a way to
turn off Chunked encoding as a test?
I can see CXF HttpConduit only optionally allows chunking for POST and
non-empty PUT, so my guess it is HTTPUrlConnection which does something
specific about it.
Consider trying CXF Async HTTP Conduit (Apache Client based) which can
be run in a sync mode, you can enable it by:
WebClient.getConfig(wc).getRequestContext().put("use.async.http.conduit", true);
and add a dependency to "cxf-rt-transports-http-hc"
HTH, Sergey