You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Srivatsa Katta <va...@gmail.com> on 2009/08/20 09:17:50 UTC

HTTP component throwing IllegalArgumentException in M3 release.

Hi,

I have the following routes defined in my application.


from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
                       
.to("http://localhost:8899?throwExceptionOnFailure=false");
from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");


Basically the first endpoint (6666) is just routing/redirecting to the
second end point (8899). 

When the client uses the endpoint (8899) directly, it works fine. But when
the client uses the endpoint 6666, it has to ideally route it to 8899 and
then return the result but then it throws IllegalArgumentException host
parameter is null. 

The same route configuration works fine in the 2.0 M2 release, started
choking after I upgraded to M3 release. 

Any help appreciated.

Cheers!!
Katta
-- 
View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Willem Jiang <wi...@gmail.com>.
+1 for adding a option for the bridge endpoint of the http consumer.
In this way we don't add such removeHeader and turn off the exception 
option for the bridge endpoint.

Willem

Claus Ibsen wrote:
> Hi
> 
> Thanks for the findings. Can you try removing those headers, you can
> use .removeHeader to get rid of them.
> 
> And create a ticket in JIRA so we can fix it in 2.1 that bridging HTTP
> related endpoints works.
> We may need to add some headers so Camel knows you want to bridge them
> to avoid using special headers or wrap return codes etc.
> 
> 
> On Thu, Aug 20, 2009 at 6:30 PM, Srivatsa Katta<va...@gmail.com> wrote:
>> Hi,
>>
>> Was debugging through this issue, and below are my observations.
>>
>> Lets say I am using this url (http://localhost:6666/customers/accounts) from
>> the client to post
>>
>> 1. In HttpProducer class when I inspected the Camel Exchange In Headers,
>> noticed both CamelHttpUri and CamelHttpPath headers having the same value.
>> eg: /customers/accounts
>>
>> And in the  protected HttpMethod createMethod(Exchange exchange) an uri is
>> being constructed by concatenating CamelHttpUri  +  CamelHttpPath,  which
>> means in this example uri becomes /customers/accounts/customers/accounts and
>> this same uri is being used to construct
>> org.apache.commons.httpclient.HttpMethod which of course is not constructed
>> with the right uri and hence fields like host and all in the HttpMethod
>> object is not set properly, I suspect this could be the problem.
>>
>> Wouldn't the camel header (CamelHttpUri ) in the exchange should have been
>> ideally set to http://localhost:6666, which would have resulted in the right
>> uri being constructed.
>>
>> But wasn't sure where these camel headers are being set in the exchanges.
>>
>> Does it makes any sense to any of the camel contributors ??
>>
>> Cheers!!
>> Katta
>>
>>
>>
>>
>>
>>
>>
>> Srivatsa Katta wrote:
>>> Hi,
>>>
>>> Find the trace below.
>>>
>>> java.lang.IllegalArgumentException: host parameter is null
>>>       at
>>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
>>>       at
>>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1145)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:762)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:476)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
>>>       at
>>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
>>>       at
>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>>       at
>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>>>       at
>>> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:147)
>>>       at
>>> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:74)
>>>       at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
>>>       at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:63)
>>>       at
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
>>>       at
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
>>>       at
>>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>       at
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>       at
>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>       at
>>> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
>>>       at
>>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>>       at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>       at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>       at
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>       at
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>       at
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>       at
>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:58)
>>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>       at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>>>       at
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
>>>       at
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>       at
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>       at
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>       at org.mortbay.jetty.Server.handle(Server.java:326)
>>>       at
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>       at
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>>>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>       at
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>       at
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
>>>
>>>
>>>
>>> Claus Ibsen-2 wrote:
>>>> Can you post the stacktrace
>>>>
>>>> On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com>
>>>> wrote:
>>>>> Hi,
>>>>>
>>>>> I have the following routes defined in my application.
>>>>>
>>>>>
>>>>> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>>>>>
>>>>> .to("http://localhost:8899?throwExceptionOnFailure=false");
>>>>> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>>>>>
>>>>>
>>>>> Basically the first endpoint (6666) is just routing/redirecting to the
>>>>> second end point (8899).
>>>>>
>>>>> When the client uses the endpoint (8899) directly, it works fine. But
>>>>> when
>>>>> the client uses the endpoint 6666, it has to ideally route it to 8899
>>>>> and
>>>>> then return the result but then it throws IllegalArgumentException host
>>>>> parameter is null.
>>>>>
>>>>> The same route configuration works fine in the 2.0 M2 release, started
>>>>> choking after I upgraded to M3 release.
>>>>>
>>>>> Any help appreciated.
>>>>>
>>>>> Cheers!!
>>>>> Katta
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>> --
>> View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25065484.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 


Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Srivatsa Katta <va...@gmail.com>.
Have raised a jira Issue for this
https://issues.apache.org/activemq/browse/CAMEL-1925



Srivatsa Katta wrote:
> 
> Hi,
> 
> Yeah removing the header CamelHttpUri before routing to http endpoint did
> work, because if this header is not present the httpProducer picks up the
> uri from the endpoint itself which is set to the right uri.
> 
> Thanks and will raise a jira ticket for this.
> 
> Cheers!!
> Katta
> 
> 
> 
> Claus Ibsen-2 wrote:
>> 
>> Hi
>> 
>> Thanks for the findings. Can you try removing those headers, you can
>> use .removeHeader to get rid of them.
>> 
>> And create a ticket in JIRA so we can fix it in 2.1 that bridging HTTP
>> related endpoints works.
>> We may need to add some headers so Camel knows you want to bridge them
>> to avoid using special headers or wrap return codes etc.
>> 
>> 
>> On Thu, Aug 20, 2009 at 6:30 PM, Srivatsa Katta<va...@gmail.com>
>> wrote:
>>>
>>> Hi,
>>>
>>> Was debugging through this issue, and below are my observations.
>>>
>>> Lets say I am using this url (http://localhost:6666/customers/accounts)
>>> from
>>> the client to post
>>>
>>> 1. In HttpProducer class when I inspected the Camel Exchange In Headers,
>>> noticed both CamelHttpUri and CamelHttpPath headers having the same
>>> value.
>>> eg: /customers/accounts
>>>
>>> And in the  protected HttpMethod createMethod(Exchange exchange) an uri
>>> is
>>> being constructed by concatenating CamelHttpUri  +  CamelHttpPath,
>>>  which
>>> means in this example uri becomes /customers/accounts/customers/accounts
>>> and
>>> this same uri is being used to construct
>>> org.apache.commons.httpclient.HttpMethod which of course is not
>>> constructed
>>> with the right uri and hence fields like host and all in the HttpMethod
>>> object is not set properly, I suspect this could be the problem.
>>>
>>> Wouldn't the camel header (CamelHttpUri ) in the exchange should have
>>> been
>>> ideally set to http://localhost:6666, which would have resulted in the
>>> right
>>> uri being constructed.
>>>
>>> But wasn't sure where these camel headers are being set in the
>>> exchanges.
>>>
>>> Does it makes any sense to any of the camel contributors ??
>>>
>>> Cheers!!
>>> Katta
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Srivatsa Katta wrote:
>>>>
>>>> Hi,
>>>>
>>>> Find the trace below.
>>>>
>>>> java.lang.IllegalArgumentException: host parameter is null
>>>>       at
>>>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
>>>>       at
>>>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
>>>>       at
>>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1145)
>>>>       at
>>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:762)
>>>>       at
>>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:476)
>>>>       at
>>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
>>>>       at
>>>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
>>>>       at
>>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>>>       at
>>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>>>>       at
>>>> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:147)
>>>>       at
>>>> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:74)
>>>>       at
>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
>>>>       at
>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:63)
>>>>       at
>>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
>>>>       at
>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
>>>>       at
>>>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>       at
>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>>       at
>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>>       at
>>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>>       at
>>>> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
>>>>       at
>>>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>>>       at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>>       at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>       at
>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>>       at
>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>>       at
>>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>>       at
>>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>>       at
>>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:58)
>>>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>       at
>>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>>>>       at
>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
>>>>       at
>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>>       at
>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>>       at
>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>>       at org.mortbay.jetty.Server.handle(Server.java:326)
>>>>       at
>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>>       at
>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>>>>       at
>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>>       at
>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>>       at
>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>>       at
>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
>>>>
>>>>
>>>>
>>>> Claus Ibsen-2 wrote:
>>>>>
>>>>> Can you post the stacktrace
>>>>>
>>>>> On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have the following routes defined in my application.
>>>>>>
>>>>>>
>>>>>> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>>>>>>
>>>>>> .to("http://localhost:8899?throwExceptionOnFailure=false");
>>>>>> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>>>>>>
>>>>>>
>>>>>> Basically the first endpoint (6666) is just routing/redirecting to
>>>>>> the
>>>>>> second end point (8899).
>>>>>>
>>>>>> When the client uses the endpoint (8899) directly, it works fine. But
>>>>>> when
>>>>>> the client uses the endpoint 6666, it has to ideally route it to 8899
>>>>>> and
>>>>>> then return the result but then it throws IllegalArgumentException
>>>>>> host
>>>>>> parameter is null.
>>>>>>
>>>>>> The same route configuration works fine in the 2.0 M2 release,
>>>>>> started
>>>>>> choking after I upgraded to M3 release.
>>>>>>
>>>>>> Any help appreciated.
>>>>>>
>>>>>> Cheers!!
>>>>>> Katta
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25065484.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> Claus Ibsen
>> Apache Camel Committer
>> 
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25075424.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Srivatsa Katta <va...@gmail.com>.
Hi,

Yeah removing the header CamelHttpUri before routing to http endpoint did
work, because if this header is not present the httpProducer picks up the
uri from the endpoint itself which is set to the right uri.

Thanks and will raise a jira ticket for this.

Cheers!!
Katta



Claus Ibsen-2 wrote:
> 
> Hi
> 
> Thanks for the findings. Can you try removing those headers, you can
> use .removeHeader to get rid of them.
> 
> And create a ticket in JIRA so we can fix it in 2.1 that bridging HTTP
> related endpoints works.
> We may need to add some headers so Camel knows you want to bridge them
> to avoid using special headers or wrap return codes etc.
> 
> 
> On Thu, Aug 20, 2009 at 6:30 PM, Srivatsa Katta<va...@gmail.com>
> wrote:
>>
>> Hi,
>>
>> Was debugging through this issue, and below are my observations.
>>
>> Lets say I am using this url (http://localhost:6666/customers/accounts)
>> from
>> the client to post
>>
>> 1. In HttpProducer class when I inspected the Camel Exchange In Headers,
>> noticed both CamelHttpUri and CamelHttpPath headers having the same
>> value.
>> eg: /customers/accounts
>>
>> And in the  protected HttpMethod createMethod(Exchange exchange) an uri
>> is
>> being constructed by concatenating CamelHttpUri  +  CamelHttpPath,  which
>> means in this example uri becomes /customers/accounts/customers/accounts
>> and
>> this same uri is being used to construct
>> org.apache.commons.httpclient.HttpMethod which of course is not
>> constructed
>> with the right uri and hence fields like host and all in the HttpMethod
>> object is not set properly, I suspect this could be the problem.
>>
>> Wouldn't the camel header (CamelHttpUri ) in the exchange should have
>> been
>> ideally set to http://localhost:6666, which would have resulted in the
>> right
>> uri being constructed.
>>
>> But wasn't sure where these camel headers are being set in the exchanges.
>>
>> Does it makes any sense to any of the camel contributors ??
>>
>> Cheers!!
>> Katta
>>
>>
>>
>>
>>
>>
>>
>> Srivatsa Katta wrote:
>>>
>>> Hi,
>>>
>>> Find the trace below.
>>>
>>> java.lang.IllegalArgumentException: host parameter is null
>>>       at
>>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
>>>       at
>>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1145)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:762)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:476)
>>>       at
>>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
>>>       at
>>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
>>>       at
>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>>       at
>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>>>       at
>>> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:147)
>>>       at
>>> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:74)
>>>       at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
>>>       at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:63)
>>>       at
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
>>>       at
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
>>>       at
>>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>       at
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>       at
>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>       at
>>> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
>>>       at
>>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>>       at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>       at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>       at
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>       at
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>       at
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>       at
>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:58)
>>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>       at
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>>>       at
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
>>>       at
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>       at
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>       at
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>       at org.mortbay.jetty.Server.handle(Server.java:326)
>>>       at
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>>       at
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>>>       at
>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>       at
>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>       at
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>       at
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
>>>
>>>
>>>
>>> Claus Ibsen-2 wrote:
>>>>
>>>> Can you post the stacktrace
>>>>
>>>> On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com>
>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I have the following routes defined in my application.
>>>>>
>>>>>
>>>>> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>>>>>
>>>>> .to("http://localhost:8899?throwExceptionOnFailure=false");
>>>>> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>>>>>
>>>>>
>>>>> Basically the first endpoint (6666) is just routing/redirecting to the
>>>>> second end point (8899).
>>>>>
>>>>> When the client uses the endpoint (8899) directly, it works fine. But
>>>>> when
>>>>> the client uses the endpoint 6666, it has to ideally route it to 8899
>>>>> and
>>>>> then return the result but then it throws IllegalArgumentException
>>>>> host
>>>>> parameter is null.
>>>>>
>>>>> The same route configuration works fine in the 2.0 M2 release, started
>>>>> choking after I upgraded to M3 release.
>>>>>
>>>>> Any help appreciated.
>>>>>
>>>>> Cheers!!
>>>>> Katta
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25065484.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25074882.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Thanks for the findings. Can you try removing those headers, you can
use .removeHeader to get rid of them.

And create a ticket in JIRA so we can fix it in 2.1 that bridging HTTP
related endpoints works.
We may need to add some headers so Camel knows you want to bridge them
to avoid using special headers or wrap return codes etc.


On Thu, Aug 20, 2009 at 6:30 PM, Srivatsa Katta<va...@gmail.com> wrote:
>
> Hi,
>
> Was debugging through this issue, and below are my observations.
>
> Lets say I am using this url (http://localhost:6666/customers/accounts) from
> the client to post
>
> 1. In HttpProducer class when I inspected the Camel Exchange In Headers,
> noticed both CamelHttpUri and CamelHttpPath headers having the same value.
> eg: /customers/accounts
>
> And in the  protected HttpMethod createMethod(Exchange exchange) an uri is
> being constructed by concatenating CamelHttpUri  +  CamelHttpPath,  which
> means in this example uri becomes /customers/accounts/customers/accounts and
> this same uri is being used to construct
> org.apache.commons.httpclient.HttpMethod which of course is not constructed
> with the right uri and hence fields like host and all in the HttpMethod
> object is not set properly, I suspect this could be the problem.
>
> Wouldn't the camel header (CamelHttpUri ) in the exchange should have been
> ideally set to http://localhost:6666, which would have resulted in the right
> uri being constructed.
>
> But wasn't sure where these camel headers are being set in the exchanges.
>
> Does it makes any sense to any of the camel contributors ??
>
> Cheers!!
> Katta
>
>
>
>
>
>
>
> Srivatsa Katta wrote:
>>
>> Hi,
>>
>> Find the trace below.
>>
>> java.lang.IllegalArgumentException: host parameter is null
>>       at
>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
>>       at
>> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
>>       at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1145)
>>       at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:762)
>>       at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:476)
>>       at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
>>       at
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
>>       at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>       at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>>       at
>> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:147)
>>       at
>> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:74)
>>       at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
>>       at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:63)
>>       at
>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
>>       at
>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
>>       at
>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>       at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>       at
>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>       at
>> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
>>       at
>> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
>>       at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>       at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>       at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>       at
>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>       at
>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>       at
>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:58)
>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>       at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>>       at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
>>       at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>       at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>       at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>       at org.mortbay.jetty.Server.handle(Server.java:326)
>>       at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>       at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>       at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>       at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
>>
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Can you post the stacktrace
>>>
>>> On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com>
>>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I have the following routes defined in my application.
>>>>
>>>>
>>>> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>>>>
>>>> .to("http://localhost:8899?throwExceptionOnFailure=false");
>>>> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>>>>
>>>>
>>>> Basically the first endpoint (6666) is just routing/redirecting to the
>>>> second end point (8899).
>>>>
>>>> When the client uses the endpoint (8899) directly, it works fine. But
>>>> when
>>>> the client uses the endpoint 6666, it has to ideally route it to 8899
>>>> and
>>>> then return the result but then it throws IllegalArgumentException host
>>>> parameter is null.
>>>>
>>>> The same route configuration works fine in the 2.0 M2 release, started
>>>> choking after I upgraded to M3 release.
>>>>
>>>> Any help appreciated.
>>>>
>>>> Cheers!!
>>>> Katta
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25065484.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Srivatsa Katta <va...@gmail.com>.
Hi,

Was debugging through this issue, and below are my observations.

Lets say I am using this url (http://localhost:6666/customers/accounts) from
the client to post 

1. In HttpProducer class when I inspected the Camel Exchange In Headers,
noticed both CamelHttpUri and CamelHttpPath headers having the same value.
eg: /customers/accounts

And in the  protected HttpMethod createMethod(Exchange exchange) an uri is
being constructed by concatenating CamelHttpUri  +  CamelHttpPath,  which
means in this example uri becomes /customers/accounts/customers/accounts and
this same uri is being used to construct
org.apache.commons.httpclient.HttpMethod which of course is not constructed
with the right uri and hence fields like host and all in the HttpMethod
object is not set properly, I suspect this could be the problem.

Wouldn't the camel header (CamelHttpUri ) in the exchange should have been
ideally set to http://localhost:6666, which would have resulted in the right
uri being constructed. 

But wasn't sure where these camel headers are being set in the exchanges.

Does it makes any sense to any of the camel contributors ??

Cheers!!
Katta







Srivatsa Katta wrote:
> 
> Hi,
> 
> Find the trace below.
> 
> java.lang.IllegalArgumentException: host parameter is null
> 	at
> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
> 	at
> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
> 	at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1145)
> 	at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:762)
> 	at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:476)
> 	at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
> 	at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
> 	at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
> 	at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
> 	at
> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:147)
> 	at
> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:74)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:63)
> 	at
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> 	at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> 	at
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at
> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> 	at
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
> 	at
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> 	at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> 	at
> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:58)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> 	at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> 	at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> 	at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> 	at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:326)
> 	at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> 	at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> 	at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> 	at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> 
> 
> 
> Claus Ibsen-2 wrote:
>> 
>> Can you post the stacktrace
>> 
>> On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com>
>> wrote:
>>>
>>> Hi,
>>>
>>> I have the following routes defined in my application.
>>>
>>>
>>> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>>>
>>> .to("http://localhost:8899?throwExceptionOnFailure=false");
>>> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>>>
>>>
>>> Basically the first endpoint (6666) is just routing/redirecting to the
>>> second end point (8899).
>>>
>>> When the client uses the endpoint (8899) directly, it works fine. But
>>> when
>>> the client uses the endpoint 6666, it has to ideally route it to 8899
>>> and
>>> then return the result but then it throws IllegalArgumentException host
>>> parameter is null.
>>>
>>> The same route configuration works fine in the 2.0 M2 release, started
>>> choking after I upgraded to M3 release.
>>>
>>> Any help appreciated.
>>>
>>> Cheers!!
>>> Katta
>>> --
>>> View this message in context:
>>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> Claus Ibsen
>> Apache Camel Committer
>> 
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25065484.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Srivatsa Katta <va...@gmail.com>.
Hi,

Find the trace below.

java.lang.IllegalArgumentException: host parameter is null
	at
org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
	at
org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
	at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1145)
	at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:762)
	at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:476)
	at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
	at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
	at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
	at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
	at
org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:147)
	at
org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:74)
	at
org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
	at
org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:63)
	at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
	at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
	at
org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
	at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
	at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
	at
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
	at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
	at
org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
	at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
	at
org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
	at
org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
	at
org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:58)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)



Claus Ibsen-2 wrote:
> 
> Can you post the stacktrace
> 
> On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com>
> wrote:
>>
>> Hi,
>>
>> I have the following routes defined in my application.
>>
>>
>> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>>
>> .to("http://localhost:8899?throwExceptionOnFailure=false");
>> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>>
>>
>> Basically the first endpoint (6666) is just routing/redirecting to the
>> second end point (8899).
>>
>> When the client uses the endpoint (8899) directly, it works fine. But
>> when
>> the client uses the endpoint 6666, it has to ideally route it to 8899 and
>> then return the result but then it throws IllegalArgumentException host
>> parameter is null.
>>
>> The same route configuration works fine in the 2.0 M2 release, started
>> choking after I upgraded to M3 release.
>>
>> Any help appreciated.
>>
>> Cheers!!
>> Katta
>> --
>> View this message in context:
>> http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25060117.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: HTTP component throwing IllegalArgumentException in M3 release.

Posted by Claus Ibsen <cl...@gmail.com>.
Can you post the stacktrace

On Thu, Aug 20, 2009 at 9:17 AM, Srivatsa Katta<va...@gmail.com> wrote:
>
> Hi,
>
> I have the following routes defined in my application.
>
>
> from("jetty:http://0.0.0.0:6666?matchOnUriPrefix=true")
>
> .to("http://localhost:8899?throwExceptionOnFailure=false");
> from("jetty:http://0.0.0.0:8899?matchOnUriPrefix=true").to("cxfbean:customerCXFService");
>
>
> Basically the first endpoint (6666) is just routing/redirecting to the
> second end point (8899).
>
> When the client uses the endpoint (8899) directly, it works fine. But when
> the client uses the endpoint 6666, it has to ideally route it to 8899 and
> then return the result but then it throws IllegalArgumentException host
> parameter is null.
>
> The same route configuration works fine in the 2.0 M2 release, started
> choking after I upgraded to M3 release.
>
> Any help appreciated.
>
> Cheers!!
> Katta
> --
> View this message in context: http://www.nabble.com/HTTP-component-throwing-IllegalArgumentException-in-M3-release.-tp25057133p25057133.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus