camel-spring is deployed on Karaf and referenced as a Require-Bundle
in the MANIFEST.MF file of my WAR project

The issue is that we cannot import here the camel spring schema as it
is part of the root of camel-spring jar and not exported by the bundle
like this is the case by example for camel-cxf

ex :

karaf@root> packages:exports 1883 = camel-cxf
    ID Packages
  1883 org.apache.camel.component.cxf.util
  1883 org.apache.camel.component.cxf
  1883 org.apache.camel.component.cxf.spring
  1883 org.apache.camel.component.cxf.transport.spring
  1883 org.apache.camel.component.cxf.transport
  1883 org.apache.camel.component.cxf.converter
  1883 org.apache.camel.component.cxf.jaxrs
  1883 org.apache.camel.component.cxf.interceptors
  1883 org.apache.camel.component.cxf.soap.headers
  1883 org.apache.camel.component.cxf.cxfbean
  1883 org.apache.camel.component.cxf.feature
  1883 META-INF.cxf.camel <--- where the schemas are exported

On Tue, Feb 15, 2011 at 10:33 AM, Sumit Teke
<sumit_t...@omniscient.co.in> wrote:
>  Check if camel-spring is on classpath.
>
> Thanks,
> Sumit Teke
>
> On Tuesday 15 February 2011 02:51 PM, Charles Moulliard wrote:
>>
>> Hi,
>>
>> When deploying a WAR project on Karaf, I get the following error :
>>
>> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
>> Configuration problem: Unable to locate Spring NamespaceHandler for
>> XML schema namespace [http://camel.apache.org/schema/spring]
>> Offending resource: class path resource
>> [META-INF/spring/camel-context.xml]
>>
>>        at
>> org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:284)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1332)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1325)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)[48:org.springframework.beans:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)[49:org.springframework.context:3.0.5.RELEASE]
>>        at
>> org.apache.camel.component.servlet.CamelHttpTransportServlet.init(CamelHttpTransportServlet.java:46)[1985:org.apache.camel.camel-servlet:2.6.0]
>>        at
>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:432)[1842:org.eclipse.jetty.servlet:7.2.2.v20101205]
>>
>> Spring is not able to find the NameSpaceHandler for XML schema
>> namespace [http://camel.apache.org/schema/spring] even if canel-core
>> and camel-spring 2,6,0 are deployed on Karaf and added in the
>> classpath.
>>
>>     <servlet>
>>         <servlet-name>CamelServlet</servlet-name>
>>         <display-name>Camel Http Transport Servlet</display-name>
>>
>> <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
>>         <init-param>
>>             <param-name>contextConfigLocation</param-name>
>>             <param-value>META-INF/spring/camel-context.xml</param-value>
>>         </init-param>
>>     </servlet>
>>
>>     <servlet-mapping>
>>         <servlet-name>CamelServlet</servlet-name>
>>         <url-pattern>/test/*</url-pattern>
>>     </servlet-mapping>
>>
>> *************************************
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>    xmlns:camel="http://camel.apache.org/schema/spring";
>>    xsi:schemaLocation="
>>    http://www.springframework.org/schema/beans
>>    http://www.springframework.org/schema/beans/spring-beans.xsd
>>    http://camel.apache.org/schema/spring
>>    http://camel.apache.org/schema/spring/camel-spring.xsd";>
>>
>>     <bean id="response"
>> class="org.apache.camel.example.osgi.ResponseBean"/>
>>
>>        <camelContext xmlns="http://camel.apache.org/schema/spring";>
>>         <route id="servlet-service">
>>             <from uri="servlet:///service"/>
>>             <bean ref="response"/>
>>             <log message="Response send to the client !"
>> loggingLevel="INFO"/>
>>         </route>
>>        </camelContext>
>>
>> </beans>
>>
>>
>> Any idea is welcome ?
>>
>> Regards,
>>
>> Charles Moulliard
>>
>> Sr. Principal Solution Architect - FuseSource
>> Apache Committer
>>
>> Blog : http://cmoulliard.blogspot.com
>> Twitter : http://twitter.com/cmoulliard
>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>> Skype: cmoulliard
>

Reply via email to