Hi,

I have got the solution for problem.
We have to add a component of type http in camelContext. Then only the
camelContext is able to
understand a http uri.
camelContext.addComponent("http", new HttpComponent());
The String name can be any valid string.
I dont know, whether it is osgi which is forcing us to add explicitly
HttpComponent to talk to a http endpoint, or this is the camel way of
sending messages to endpoints.

Thanks for the valuable suggestions added to understand the problem.

With Regads
Harbeer kadian 



Harbeer Kadian wrote:
> 
> Hi,
> 
> I did as per your suggestion.
> Here is the piece of code
> 
> private CamelContext camelContext;
> private CamelContextFactory camelContextFactory;
> 
> camelContextFactory = new CamelContextFactory();
> camelContext = camelContextFactory.createContext();
> ((DefaultCamelContext)camelContext).setRegistry(new
> JndiRegistry(jndiContext)); 
> 
> but still i am getting the same exception.
> Constructor threw exception; nested exception is
> org.apache.camel.NoSuchEndpointException: 
> No endpoint could be found for: 
> http://localhost:8095/HelloWebService/services/Hello, 
> please check your classpath contains the needed camel component jar.
>         at
> org.springframework.beans.factory.support.ConstructorResolver.autowir
> eConstructor(ConstructorResolver.java:254)
> 
> I am once again giving a detail description of my problem.
> My route is as follows
> from("direct:ProducerUri")
> .to("http://localhost:8095/HelloWebService/services/Hello";);
> 
> I am creating the required soap message as follows
> 
> String soapMessage = "<soap:Envelope
> xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\";><soap:Body><ns1:sayHi
> xmlns:ns1=\"http://cxf.ws.studies.xh.org/\";><arg0
> xmlns:ns2=\"http://cxf.ws.studies.xh.org/\";>"
>                       + "Harbeer Kadian" +
> "</arg0></ns1:sayHi></soap:Body></soap:Envelope>";
> 
> // Camel will convert string to Document object for me
> exchange.getIn().setBody(soapMessage, Document.class);
> exchange.setPattern(ExchangePattern.InOut);
> exchange = producerTemplate.send("direct:ProducerUri", exchange);
> 
> I am using an OSGI bundle to deploy this code in servicemix.
> Other than this I am not providing any information particular to http
> endpoint in my code or any of the configuration file
> bundle-context.xml
> bundle-context-osgi.xml
> 
> Looks like all the problems are happening because of the OSGI bundle.
> 
> Please tell if you have any idea about this problem.
> 
> With Regards
> Harbeer kadian
> 
> 
> 
> 
> willem.jiang wrote:
>> 
>> Sorry, I just realized you are using Camel 1.6.1-fuse
>> 
>> You can try to use Camel 1.6.2.1-fuse or use this code.
>> camelContext.setRegistry(new JndiRegistry(jndiContext));
>> 
>> Willem
>> 
>> Harbeer Kadian wrote:
>>> Hi,
>>> 
>>> I checked the respective jar(camel-osgi) in cache folder.
>>> To my surprise, the CompositeRegistry class is not present there.
>>> Is it like I am using old version of camel-osgi feature.
>>> 
>>> With Regards
>>> Harbeer Kadian
>>> 
>>> 
>>> 
>>> Harbeer Kadian wrote:
>>>> Hi,
>>>>
>>>> I changed the creation of CamelContext as per your suggestions.
>>>> I am getting following exception now.
>>>>
>>>> org.springframework.beans.factory.BeanCreationException: Error creating
>>>> bean with name ConnectPlatform' defined in URL
>>>> [bundle://186.0:0/META-INF/spring/bundle-context.xml]: 
>>>> Instantiation of bean failed; nested exception is
>>>> org.springframework.beans.BeanInstantiationException: Could not
>>>> instantiate bean class
>>>> [com.altair.hwec.connectplatform.ConnectPlatformImpl]: Constructor
>>>> threw
>>>> exception; 
>>>> nested exception is java.lang.NoClassDefFoundError:
>>>> org/apache/camel/osgi/CompositeRegistry
>>>>
>>>> I checked what all the camel jars are active in servicemix as of now
>>>> Here are the details
>>>>
>>>> s...@root:/> osgi/list | grep camel
>>>> [  66] [Active     ] [       ] [   60] camel-core (1.6.1.fuse)
>>>> [  67] [Active     ] [       ] [   60] camel-osgi (1.6.1.fuse)
>>>> [  68] [Active     ] [       ] [   60] camel-spring (1.6.1.fuse)
>>>> [ 165] [Active     ] [       ] [   60] camel-http (1.6.1.fuse)
>>>>
>>>> With Regards
>>>> Harbeer Kadian
>>>>
>>>>
>>>>
>>>> Harbeer Kadian wrote:
>>>>> Hi,
>>>>>
>>>>> I created a new camel router to send a message to a webservice using
>>>>> camel-http component.
>>>>> The configure method of the router is as follows.
>>>>>         public void configure() throws Exception {
>>>>>                 from("direct:ProducerUri")
>>>>>                
>>>>> .to("http://localhost:8083/ConnectPlatform?supportedEndPointsRequest=DataManager";);
>>>>>         }
>>>>> The wsdl for the webservice is located at following url
>>>>> http://localhost:8083/ConnectPlatform?wsdl
>>>>>
>>>>> The servicemix gave exception when i tried to add this router to the
>>>>> camel context.
>>>>>
>>>>> org.apache.camel.NoSuchEndpointException: No endpoint could be found
>>>>> for:
>>>>> http://localhost:8083/ConnectPlatform?supportedEndPointsRequest=DataManager,
>>>>> please check your classpath contains the needed camel component jar.
>>>>>         at
>>>>> org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:254)
>>>>>         at
>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:925)
>>>>>         at
>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:835)
>>>>>         at
>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
>>>>>
>>>>> I added the camel-http component in my pom.xml
>>>>> <dependency>
>>>>>   <groupId>org.apache.camel</groupId>
>>>>>   <artifactId>camel-http</artifactId>
>>>>>   <version>1.6.2.0-fuse</version>
>>>>> </dependency>
>>>>>
>>>>> I also added the following packages in the OSGI Import-Package header
>>>>> org.apache.camel.component.http
>>>>> org.apache.camel.component.http.helper
>>>>>
>>>>> Still i am getting the same exception.
>>>>>
>>>>> Also when i perform command osgi/list on servicemix
>>>>> I found that the camel-http component is not in the Started stage.
>>>>> [ 165] [Active     ] [       ] [   60] camel-http (1.6.1.fuse)
>>>>>
>>>>> Please tell if i am missing some thing required to talk to a Http
>>>>> Component. 
>>>>>
>>>>> With Regards
>>>>> Harbeer Kadian
>>>>>
>>>>
>>> 
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/NoSuchEndpointException%3A-getting-exception-when-talking-to-http-endpoint-using-camel-tp27026841p27073211.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to