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.