[
https://issues.apache.org/jira/browse/CXF-3304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12991805#comment-12991805
]
Jason Downey commented on CXF-3304:
-----------------------------------
Thanks for your hint about looking at HttpConduit. I set some break points
there and found the suspect code. I'm not sure how to fix it though so I'll
look to you for help on that :-)
The cause for my grief is in HttpConduit.prepare (lines 634 to 645 in 2.3.2's
source). By default, csPolicy.isAllowChunking is true and this causes the
HttpURLConnection.setChunkedStreamingMode to be set to -1. If it is set (as it
currently is), havoc ensues. If setChunckedStreamingMode isn't set,
getErrorStream works as it's supposed to.
Now that we now what causes the issue, is there a way in WebClient to specify
the HTTPClientPolicy for a request? I briefly looked at the methods and
couldn't find any.
By the way, WebClient behaves the same whether or not there is actual data in
the post.
> WebClient POST to a resource that returns 401 returns a blank InputStream
> when there's supposed to be text
> ----------------------------------------------------------------------------------------------------------
>
> Key: CXF-3304
> URL: https://issues.apache.org/jira/browse/CXF-3304
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.3.2
> Environment: JDK 1.6
> Reporter: Jason Downey
> Priority: Minor
> Fix For: 2.3.3
>
> Attachments: cxf_jax_rs_post_401_bug.zip,
> cxf_jax_rs_post_401_bug_httpurlconnection.zip
>
>
> I have two methods that return the same error message upon POST. The only
> difference is that one returns a 404 response status, the other returns a 401
> response status.
> POSTing to the resource that returns 404 returns an InputStream containing
> the error message when you call Response.getEntity(). However, POSTing to the
> resource that returns 401 returns a blank InputStream when you call
> Response.getEntity().
> This problem was not reproducible with GET.
> Test case code attached. Launch the server using JettyServer. Then run the
> WebClient test in WebClientTest.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira