Thanks Claus. I created https://issues.apache.org/jira/browse/CAMEL-4693 for this. I'll also see if I can roll my sleeves up and provide a patch for it.
On Fri, Nov 18, 2011 at 3:28 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > Seems like a good idea to add support for that HttpContext. > > We love contributions > http://camel.apache.org/contributing.html > > So feel free to create a JIRA and if possible attach a patch as well. > > > On Thu, Nov 17, 2011 at 6:54 PM, Jeff Segal <jeffrey.se...@gmail.com> > wrote: > > Hi all, > > > > I have a technical problem as well as a related documentation issue to > > report. The technical problem is as follows: > > > > HttpComponents 4.x provides a facility to use a HttpContext for a given > > request by calling HttpClient.execute(HttpUriRequest, HttpContext), but > it > > looks like the http4 Camel Component doesn't have hooks to use this. > > Looking at the latest source > > of org.apache.camel.component.http4.HttpProducer, I only see one way of > > calling HttpClient.execute(): > > > > protected HttpResponse executeMethod(HttpUriRequest httpRequest) > throws > >> IOException { > >> return httpClient.execute(httpRequest); > >> } > > > > > > Perhaps this could be made available in a similar fashion > > to HttpClientConfigurer? (for example creating a HttpContextConfigurer) > > > > My particular symptom is that I'm unable to force the http4 component to > > use preemptive authentication, which relies on HttpContext in HttpClient > > 4.x. In HttpClient 3.x, this was made possible by the HttpClientParams > flag > > "authenticationPreemptive". However, it appears that this was removed for > > 4.x in favor of using HttpContext because of security concerns. > > > > The documentation issue is that the http4 Component docs claim that the > > httpClient.authenticationPreemptive=true flag will work the same way it > > does for the http Component, but it does not. I saw the following error > > when I tried to do so: > > > > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to > >> resolve endpoint: > >> > https4://<my_endpoint>?httpClient.authenticationPreemptive=true&httpClientConfigurer=myHttpClientConfigurer > due > >> to: There are 1 parameters that couldn't be set on the endpoint. Check > the > >> uri if the parameters are spelt correctly and that they are properties > of > >> the endpoint. Unknown parameters=[{authenticationPreemptive=true}] > > > > > > So it looks to me like the http4 Component should be updated to support > > setting a HttpContext for requests and the documentation should also be > > updated to reflect this change between HttpClient 3.x and 4.x. > > > > Thanks, > > Jeff > > > > > > -- > Claus Ibsen > ----------------- > FuseSource > Email: cib...@fusesource.com > Web: http://fusesource.com > Twitter: davsclaus, fusenews > Blog: http://davsclaus.blogspot.com/ > Author of Camel in Action: http://www.manning.com/ibsen/ >