Hi Gang,
That ComponentResolver interface is what Camel uses to discover additional component. In Apache Karaf and ServiceMix, it uses the OSGi Service Registry to find these components. The message you're seeing is an indication that it is unable to find the ComponentResolver for component "camel-cxf" First thing to look at would be the camel-cxf component itself. Is the feature for that component installed? Second problem is the uri prefix you're using in "camel-cxf:bean:helloWorld2Client": the "camel-cxf:" prefix is not registered by default by the camel-cxf component - the URI prefix you need is "cxfbean:". You can check what URI prefixes are offered by a component by using the osgi:ls <bundleid> command. On my system, the Camel CXF component bundle id is 182, so doing an osgi:ls 182 gives me the following output: ... component = [cxfbean, cxf, cxfrs] objectClass = [org.apache.camel.spi.ComponentResolver] service.id = 352 ... Regards, Gert Vanthienen On Thu, Jan 15, 2015 at 10:54 PM, Yang, Gang CTR USARMY (US) <gang.yang....@mail.mil> wrote: > camel-core and camel-blueprint are all installed and active. camel-osgi is > absent from osgi:list and features:list. Does camel-osgi exist? > > Why the log is associating org.apache.camel.spi.ComponentResolver with > camel-cxf? > > Gang > > ________________________________________ > From: seij...@gmail.com [seij...@gmail.com] > Sent: Thursday, January 15, 2015 4:12 PM > To: users@servicemix.apache.org > Cc: users@servicemix.apache.org > Subject: Re: Component dependency resolution issue > > Doesn;t look like you have camel-osgi, camel-core and camel-blueprint > deployed. > > Might have the bundle names wrong but you are missing the camel functionality. > > On Thu, Jan 15, 2015 at 2:07 PM, Yang, Gang CTR USARMY (US) > <gang.yang....@mail.mil> wrote: > >> Hi, >> I have to admit that I'm new to ServiceMix, but this such a simple bundle >> does not work and would appreciate it if someone can help out. >> I'm using ServiceMix 5.3.0. My simple bundle contains a simplest HelloWord >> JAX-WS and a CXF Endpoint on the client side to access the HelloWord >> service. A route is defined for the CXF Endpoint to receive the request >> message content from a file and direct the response message content to >> another file. At least, this is the indent. >> However, after deploying this bundle into the ServiceMix deploy folder, I >> got the following log: >> 2015-01-15 15:48:58,314 | INFO | mix-5.3.0/deploy | fileinstall >> | ? >> ? | 6 - org.apache.felix.fileinstall - 3.4.2 | Installing bundle >> Jaxws-Cxf-Camel / 15.1.30.0 >> 2015-01-15 15:48:58,361 | INFO | mix-5.3.0/deploy | BlueprintContainerImpl >> | ? >> ? | 17 - org.apache.aries.blueprint.core - 1.4.1 | Bundle >> Jaxws-Cxf-Camel is waiting for dependencies [(&(component= >> camel-cxf)(objectClass=org.apache.camel.spi.ComponentResolver))] >> 2015-01-15 15:48:58,361 | INFO | mix-5.3.0/deploy | fileinstall >> | ? >> ? | 6 - org.apache.felix.fileinstall - 3.4.2 | Started bundle: >> file:/C:/Java/apache-servicemix-5.3.0/deploy/Jaxws-Cx >> f-Camel-15.01.30.0.jar >> and the bundle is put in the "GracePeriod" state. If I interpreted the log >> correctly, it seems to say that the dependency >> org.apache.camel.spi.ComponentResolver in component camel-cxf is not >> available. Am I right? >> In fact that I did check my Maven repository that it's the >> org.apache.camel:camel-core that contains the class >> org.apache.camel.spi.ComponentResolver. Why is the framework pointing to >> camel-cxf component? >> My simple bundle did contain org.apache.camel.spi package in the >> Import-Package. Furthermore, I did check that both camel-cxf and camel-core >> are "Active" under the "state" column and camel-cxf has a "Created" under >> the "Blueprint" column while camel-core is blank. What am I doing wrong? >> The following is the content of my blueprint.xml: >> <?xml version="1.0" encoding="UTF-8"?> >> <blueprint >> xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" >> xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf" >> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 >> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd >> http://cxf.apache.org/blueprint/jaxws >> http://cxf.apache.org/schemas/blueprint/jaxws.xsd"> >> >> <jaxws:endpoint id="helloWorld2" >> >> implementor="mil.army.security.ts3.samples.osgi.jaxws.cxf.HelloWorld2Impl" >> address="/TS3HelloWorld2"> >> </jaxws:endpoint> >> <camel-cxf:cxfEndpoint >> xmlns:ts3="http://cxf.jaxws.osgi.samples.ts3.security.army.mil/" >> id="helloWorld2Client" >> address="http://localhost:8181/cxf/HelloWorld2" >> wsdlURL="wsdl/HelloWorld2.wsdl" >> serviceName="ts3:HelloWorldImplService" >> endpointName="ts3:HelloWorldImplPort"> >> <camel-cxf:properties> >> <entry key="dataFormat" value="PAYLOAD"/> >> </camel-cxf:properties> >> </camel-cxf:cxfEndpoint> >> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> >> <route> >> <from uri="file://c:/temp?fileName=HelloWorld2Request.xml"/> >> <inOut uri="camel-cxf:bean:helloWorld2Client"/> >> <to uri="file://c:/temp?fileName=HelloWorld2Response.xml"/> >> </route> >> </camelContext> >> </blueprint> >> Thanks in advance, >> Gang