Dear All, I am trying out a simple jaxrs service with camel 2.16-SNAPSHOT / cxf 3.1.2 and karaf 4.0.0. I am running into a problem while deploying a camel cxfrs blueprint into karaf. The blueprint definition is as follows:
<blueprint default-activation="lazy" xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/cxf" xmlns:camel="http://camel.apache.org/schema/blueprint" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf-blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd"> <cxf:rsServer id="adapterServicesRestEndpoint" address="/pgadmin/services/rest/" serviceClass="org.example.rest.impl.PGAdminRestImpl" loggingFeatureEnabled="true"> <cxf:providers> <ref component-id="jsonProvider" /> </cxf:providers> <cxf:extensionMappings> <entry key="json" value="application/json" /> </cxf:extensionMappings> </cxf:rsServer> <camel:camelContext xmlns="http://camel.apache.org/schema/blueprint"> <camel:package> org.example.rest.routes </camel:package> </camel:camelContext> <bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider" /> <reference id="pgAdminRestApi" interface="org.example.services.rest.api.PGAdminRestApi" /> </blueprint> Karaf Exception: Status: GracePeriod Blueprint 8/8/15 2:38 PM Missing dependencies: (&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://camel.apache.org/schema/cxf)) The cxf namespace looks okay to me: xmlns:cxf="http://camel.apache.org/schema/cxf" The actual location of the xsd file also looks okay: http://camel.apache.org/schema/cxf/camel-cxf-blueprint.xsd However, I doubt the CxfNamespaceHandler is trying to pick up the xsd from the wrong location: public URL getSchemaLocation(String s) { return getClass().getClassLoader().getResource("schema/blueprint/camel-cxf.xsd"); } It should have been: public URL getSchemaLocation(String s) { return getClass().getClassLoader().getResource("schema/cxf/camel-cxf-blueprint.xsd"); } Also, the namespace registration looks wrong in this file: trunk <https://github.com/apache/camel/blob/master/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/camel-cxf.xml> The namespace registration is pointing to <service-properties> <entry key="osgi.service.blueprint.namespace" value="http://camel.apache.org/schema/blueprint/cxf"/> </service-properties> whereas it should have been: <service-properties> <entry key="osgi.service.blueprint.namespace" value="http://camel.apache.org/schema/cxf"/> </service-properties> I will try to apply the above changes to confirm if my assumptions are right. Will update shortly. best regards Sriraman. -- View this message in context: http://camel.465427.n5.nabble.com/camel-cxfrs-blueprint-namespace-issue-tp5770453.html Sent from the Camel - Users mailing list archive at Nabble.com.