[ 
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

        

Reply via email to