You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by TheWinch <vi...@thalesgroup.com> on 2009/12/02 18:08:21 UTC
Classpath problem with camel-cxf and OSGi
Hi,
I'm trying to deploy dynamically endpoints using camel-cxf. I have an
example that works perfectly well in camel 2.0.0 standalone, and that does
not work in camel 2.0.0 deployed on SMX4 (code provided below).
I have read on forums that this might come from class-path issues. However I
can't see where it comes from. Could someone help ?
To deploy the endpoint I do:
// in Test:
public void doTest() { builder.deployEndpoint(); }
// in DynamicBuilder:
public void deployEndpoint() {
CamelContext context = getContext();
final String endpointUri = "cxf:" + "http://localhost:9000/service"
+ "?serviceClass=" + SERVICE_CLASS;
def = from( endpointUri );
def.process( new CallbackProcessor() );
context.addRouteDefinitions( Arrays.asList( def ) );
context.startRoute( def );
}
This works OK in camel standalone, and in SMX4 this generates the following
error:
org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Could
not find destination factory for transport http://schemas.xmlsoap.org/soap/h
ttp
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
at
org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
at
org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
at
org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
ntext.java:380)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
va:346)
at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
Context.java:308)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
cyWaiterApplicationContextExecutor.java:138)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Could not find destination factory
for transport http://schemas.xmlsoap.org/soap/http
at
org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
at
org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
at
org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
at
org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
at
org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
at
org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
at org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
at
org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
at
org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
... 12 more
My camel context:
<?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:cxf="http://camel.apache.org/schema/cxf"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
">
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
<bean id="builder" class="test.DynamicRouteBuilder"/>
<camelContext id="test_context"
xmlns="http://camel.apache.org/schema/spring">
<routeBuilder ref="builder"/>
</camelContext>
<bean id="test" class="test.Test" init-method="doTest"
destroy-method="tearDown">
<property name="builder" ref="builder"/>
</bean>
</beans>
And my import directives:
javax.jws,
javax.wsdl,
javax.xml.bind,
javax.xml.bind.annotation,
javax.xml.namespace,
javax.xml.soap,
javax.xml.ws,
META-INF.cxf,
META-INF.cxf.osgi,
org.apache.cxf,
org.apache.cxf.binding,
org.apache.cxf.binding.soap,
org.apache.cxf.binding.soap.interceptor,
org.apache.cxf.binding.soap.model,
org.apache.cxf.binding.xml,
org.apache.cxf.bindings.xformat,
org.apache.cxf.common.classloader,
org.apache.cxf.common.i18n,
org.apache.cxf.common.logging,
org.apache.cxf.common.util,
org.apache.cxf.configuration,
org.apache.cxf.configuration.security,
org.apache.cxf.configuration.spring,
org.apache.cxf.databinding,
org.apache.cxf.endpoint,
org.apache.cxf.feature,
org.apache.cxf.frontend,
org.apache.cxf.headers,
org.apache.cxf.helpers,
org.apache.cxf.interceptor,
org.apache.cxf.io,
org.apache.cxf.jaxrs,
org.apache.cxf.jaxrs.client,
org.apache.cxf.jaxrs.model,
org.apache.cxf.jaxrs.utils,
org.apache.cxf.jaxws,
org.apache.cxf.jaxws.context,
org.apache.cxf.message,
org.apache.cxf.phase,
org.apache.cxf.service,
org.apache.cxf.service.factory,
org.apache.cxf.service.invoker,
org.apache.cxf.service.model,
org.apache.cxf.staxutils,
org.apache.cxf.ws.addressing,
org.apache.cxf.wsdl,
org.apache.cxf.wsdl11,
org.apache.cxf.transport,
org.apache.cxf.transport.http,
org.apache.cxf.transport.http_jetty,
org.apache.cxf.transport.http.policy,
org.apache.cxf.bus,
org.apache.cxf.bus.spring,
org.apache.cxf.bus.resource,
org.apache.cxf.resource,
org.springframework.beans.factory.config,
org.apache.servicemix.common.osgi,
*
--
View this message in context: http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26612544.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Classpath problem with camel-cxf and OSGi
Posted by akuhtz <an...@siemens.com>.
Hi,
See here:
http://old.nabble.com/-VOTE--Release-Apache-Camel-2.1.0-to26587866s22882.html
http://old.nabble.com/-VOTE--Release-Apache-Camel-2.1.0-to26587866s22882.html
for download link of version 2.1.0
--
View this message in context: http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26621727.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Classpath problem with camel-cxf and OSGi
Posted by Willem Jiang <wi...@gmail.com>.
Hi,
If you don't mind , you can try out the voting Camel 2.1.0.
Here is the maven stage repo[1] and tarball[2]
[1]https://repository.apache.org/content/repositories/orgapachecamel-029/org/apache/camel/
[2]https://repository.apache.org/content/repositories/orgapachecamel-029/org/apache/camel/apache-camel/2.1.0/
Willem
TheWinch wrote:
> Hi,
>
> Thanks for this answer. Is there a place where I can get a packaged snapshot
> version of camel 2.1.0 ? Or should I build it from the SVN ?
>
>
> willem.jiang wrote:
>> Hi,
>>
>> This issue is related the get default bus issue[1], and it should be
>> fixed in the coming out Camel 2.1.0.
>> [1]https://issues.apache.org/activemq/browse/CAMEL-2216
>>
>> Willem
>>
>> TheWinch wrote:
>>> Hi,
>>>
>>> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
>>> example that works perfectly well in camel 2.0.0 standalone, and that
>>> does
>>> not work in camel 2.0.0 deployed on SMX4 (code provided below).
>>> I have read on forums that this might come from class-path issues.
>>> However I
>>> can't see where it comes from. Could someone help ?
>>>
>>> To deploy the endpoint I do:
>>>
>>> // in Test:
>>> public void doTest() { builder.deployEndpoint(); }
>>> // in DynamicBuilder:
>>> public void deployEndpoint() {
>>> CamelContext context = getContext();
>>>
>>> final String endpointUri = "cxf:" +
>>> "http://localhost:9000/service"
>>> + "?serviceClass=" + SERVICE_CLASS;
>>> def = from( endpointUri );
>>> def.process( new CallbackProcessor() );
>>> context.addRouteDefinitions( Arrays.asList( def ) );
>>> context.startRoute( def );
>>> }
>>>
>>> This works OK in camel standalone, and in SMX4 this generates the
>>> following
>>> error:
>>>
>>> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Could
>>> not find destination factory for transport
>>> http://schemas.xmlsoap.org/soap/h
>>> ttp
>>> at
>>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
>>> at
>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
>>> at
>>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
>>> at
>>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>> at
>>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>> at
>>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>> at
>>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>>> at
>>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>>> at
>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
>>> ntext.java:380)
>>> at
>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
>>> va:346)
>>> at
>>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>> at
>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
>>> Context.java:308)
>>> at
>>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
>>> cyWaiterApplicationContextExecutor.java:138)
>>> at java.lang.Thread.run(Thread.java:619)
>>> Caused by: java.lang.RuntimeException: Could not find destination factory
>>> for transport http://schemas.xmlsoap.org/soap/http
>>> at
>>> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
>>> at
>>> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>>> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>>> at
>>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
>>> at
>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
>>> at
>>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
>>> at
>>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
>>> at
>>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
>>> at
>>> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
>>> at
>>> org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>>> at
>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>>> at
>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
>>> at
>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
>>> at
>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
>>> ... 12 more
>>>
>>> My camel context:
>>>
>>>
>>> <?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:cxf="http://camel.apache.org/schema/cxf"
>>> xsi:schemaLocation="
>>> http://www.springframework.org/schema/beans
>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>> http://camel.apache.org/schema/cxf
>>> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>>> http://camel.apache.org/schema/spring
>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>>> ">
>>> <import resource="classpath:META-INF/cxf/cxf.xml"/>
>>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>>> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
>>> />
>>>
>>> <bean id="builder" class="test.DynamicRouteBuilder"/>
>>> <camelContext id="test_context"
>>> xmlns="http://camel.apache.org/schema/spring">
>>> <routeBuilder ref="builder"/>
>>> </camelContext>
>>>
>>> <bean id="test" class="test.Test" init-method="doTest"
>>> destroy-method="tearDown">
>>> <property name="builder" ref="builder"/>
>>> </bean>
>>> </beans>
>>>
>>> And my import directives:
>>> javax.jws,
>>> javax.wsdl,
>>> javax.xml.bind,
>>> javax.xml.bind.annotation,
>>> javax.xml.namespace,
>>> javax.xml.soap,
>>> javax.xml.ws,
>>> META-INF.cxf,
>>> META-INF.cxf.osgi,
>>>
>>> org.apache.cxf,
>>> org.apache.cxf.binding,
>>> org.apache.cxf.binding.soap,
>>> org.apache.cxf.binding.soap.interceptor,
>>> org.apache.cxf.binding.soap.model,
>>> org.apache.cxf.binding.xml,
>>> org.apache.cxf.bindings.xformat,
>>> org.apache.cxf.common.classloader,
>>> org.apache.cxf.common.i18n,
>>> org.apache.cxf.common.logging,
>>> org.apache.cxf.common.util,
>>> org.apache.cxf.configuration,
>>> org.apache.cxf.configuration.security,
>>> org.apache.cxf.configuration.spring,
>>> org.apache.cxf.databinding,
>>> org.apache.cxf.endpoint,
>>> org.apache.cxf.feature,
>>> org.apache.cxf.frontend,
>>> org.apache.cxf.headers,
>>> org.apache.cxf.helpers,
>>> org.apache.cxf.interceptor,
>>> org.apache.cxf.io,
>>> org.apache.cxf.jaxrs,
>>> org.apache.cxf.jaxrs.client,
>>> org.apache.cxf.jaxrs.model,
>>> org.apache.cxf.jaxrs.utils,
>>> org.apache.cxf.jaxws,
>>> org.apache.cxf.jaxws.context,
>>> org.apache.cxf.message,
>>> org.apache.cxf.phase,
>>> org.apache.cxf.service,
>>> org.apache.cxf.service.factory,
>>> org.apache.cxf.service.invoker,
>>> org.apache.cxf.service.model,
>>> org.apache.cxf.staxutils,
>>> org.apache.cxf.ws.addressing,
>>> org.apache.cxf.wsdl,
>>> org.apache.cxf.wsdl11,
>>> org.apache.cxf.transport,
>>> org.apache.cxf.transport.http,
>>> org.apache.cxf.transport.http_jetty,
>>> org.apache.cxf.transport.http.policy,
>>>
>>> org.apache.cxf.bus,
>>> org.apache.cxf.bus.spring,
>>> org.apache.cxf.bus.resource,
>>> org.apache.cxf.resource,
>>> org.springframework.beans.factory.config,
>>> org.apache.servicemix.common.osgi,
>>> *
>>>
>>>
>>
>>
>
Re: Classpath problem with camel-cxf and OSGi
Posted by Charles Moulliard <cm...@gmail.com>.
An alternative possibility mentioned in a previous post is to use Apache
Felix Karaf (kernel of SMX4) if you don't need NMR, JBI components but only
camel
You can install easily the camel-cxf feature. This feature will
automatically install CXF.
http://repository.apache.org/snapshots/org/apache/camel/karaf/features/2.1-SNAPSHOT/features-2.1-SNAPSHOT-features.xml
<feature name="camel-cxf" version="2.1-SNAPSHOT">
<bundle>mvn:commons-pool/commons-pool/1.4</bundle>
-
<bundle>
mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1
</bundle>
<bundle>mvn:org.springframework/spring-jms/2.5.6.SEC01</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.asm/2.2.3_3
</bundle>
-
<bundle>
mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1.2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jetty-bundle/6.1.14_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-codec/1.3_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/1.1_2
</bundle>
<bundle>mvn:org.codehaus.jettison/jettison/1.1</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.7.0_3
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/5.2_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/2.7.1_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.9.1_3
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/2.4.0_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlsec/1.4.3_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/1.2_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.woodstox/3.2.8_1
</bundle>
<bundle>mvn:org.apache.ws.commons.schema/XmlSchema/1.4.5</bundle>
<bundle>mvn:commons-lang/commons-lang/2.4</bundle>
<bundle>mvn:commons-collections/commons-collections/3.2.1</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/2.7.7_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/2.0.8_3
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.velocity/1.6.2_3
</bundle>
<bundle>mvn:org.apache.ws.commons.axiom/axiom-impl/1.2.8</bundle>
<bundle>mvn:org.apache.ws.commons.axiom/axiom-api/1.2.8</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax.mail/1.4.1_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.neethi/2.0.4_1
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.abdera/0.4.0-incubating_3
</bundle>
-
<bundle>
mvn:org.apache.geronimo.specs/geronimo-jaxws_2.1_spec/1.0
</bundle>
-
<bundle>
mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1
</bundle>
-
<bundle>
mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/1.4.0
</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.wsdl4j/1.6.2_2
</bundle>
-
<bundle>
mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr311-api-1.0/1.3.0
</bundle>
-
<bundle>
mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/1.1.2
</bundle>
<bundle>mvn:org.apache.cxf/cxf-bundle/2.2.5</bundle>
-
<bundle>
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/1.3.2_3
</bundle>
<feature version="2.1-SNAPSHOT">camel-spring-osgi</feature>
<feature version="1.1.0-SNAPSHOT">http</feature>
<bundle>mvn:org.apache.camel/camel-cxf/2.1-SNAPSHOT</bundle>
</feature>
Regards,
Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer
*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard
Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
On Fri, Dec 4, 2009 at 2:23 AM, Willem Jiang <wi...@gmail.com> wrote:
> As we are in the middle of whole bunch of release.
> CXF 2.2.5 , Camel 2.1.0 , then ServiceMix 4.1.0 ...
>
> If you can wait for a week, you will get what you want :)
>
> If you can't wait, you may need to uninstall the CXF 2.2.4 bundle and
> reinstall CXF 2.2.5 bundle yourself.
>
> Willem
>
>
>
> TheWinch wrote:
>
>> Is there a way to use Camel-cxf 2.1.0 in Servicemix 4.1.0 ?
>>
>> I have downloaded SMX 4.1.0-SNAPSHOT, but I can't install Camel-cxf. I
>> have
>> noted also that SMX uses CXF2.2.4 while Camel uses CXF 2.2.5. Any
>> knowledge
>> on this side ? Should I better ask in the SMX mailing list ?
>>
>>
>> Claus Ibsen-2 wrote:
>>
>>> On Thu, Dec 3, 2009 at 9:09 AM, TheWinch
>>> <vi...@thalesgroup.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Thanks for this answer. Is there a place where I can get a packaged
>>>> snapshot
>>>> version of camel 2.1.0 ? Or should I build it from the SVN ?
>>>>
>>>> Yes the download page at Camel have links to .zip of SNAPSHOT and how
>>> to setup maven to use SNAPSHOT
>>> http://camel.apache.org/download.html
>>>
>>>
>>>
>>> willem.jiang wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> This issue is related the get default bus issue[1], and it should be
>>>>> fixed in the coming out Camel 2.1.0.
>>>>> [1]https://issues.apache.org/activemq/browse/CAMEL-2216
>>>>>
>>>>> Willem
>>>>>
>>>>> TheWinch wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
>>>>>> example that works perfectly well in camel 2.0.0 standalone, and that
>>>>>> does
>>>>>> not work in camel 2.0.0 deployed on SMX4 (code provided below).
>>>>>> I have read on forums that this might come from class-path issues.
>>>>>> However I
>>>>>> can't see where it comes from. Could someone help ?
>>>>>>
>>>>>> To deploy the endpoint I do:
>>>>>>
>>>>>> // in Test:
>>>>>> public void doTest() { builder.deployEndpoint(); }
>>>>>> // in DynamicBuilder:
>>>>>> public void deployEndpoint() {
>>>>>> CamelContext context = getContext();
>>>>>>
>>>>>> final String endpointUri = "cxf:" +
>>>>>> "http://localhost:9000/service"
>>>>>> + "?serviceClass=" + SERVICE_CLASS;
>>>>>> def = from( endpointUri );
>>>>>> def.process( new CallbackProcessor() );
>>>>>> context.addRouteDefinitions( Arrays.asList( def ) );
>>>>>> context.startRoute( def );
>>>>>> }
>>>>>>
>>>>>> This works OK in camel standalone, and in SMX4 this generates the
>>>>>> following
>>>>>> error:
>>>>>>
>>>>>> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException:
>>>>>> Could
>>>>>> not find destination factory for transport
>>>>>> http://schemas.xmlsoap.org/soap/h
>>>>>> ttp
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
>>>>>> at
>>>>>>
>>>>>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>>>>> at
>>>>>>
>>>>>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>>>>> at
>>>>>>
>>>>>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>>>>> at
>>>>>>
>>>>>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>>>>>> at
>>>>>>
>>>>>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>>>>>> at
>>>>>>
>>>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
>>>>>> ntext.java:380)
>>>>>> at
>>>>>>
>>>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
>>>>>> va:346)
>>>>>> at
>>>>>>
>>>>>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>>>>> at
>>>>>>
>>>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
>>>>>> Context.java:308)
>>>>>> at
>>>>>>
>>>>>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
>>>>>> cyWaiterApplicationContextExecutor.java:138)
>>>>>> at java.lang.Thread.run(Thread.java:619)
>>>>>> Caused by: java.lang.RuntimeException: Could not find destination
>>>>>> factory
>>>>>> for transport http://schemas.xmlsoap.org/soap/http
>>>>>> at
>>>>>>
>>>>>> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
>>>>>> at
>>>>>> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>>>>>> at
>>>>>> org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>>>>>> at
>>>>>>
>>>>>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
>>>>>> at
>>>>>>
>>>>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
>>>>>> at
>>>>>> org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>>>>>> at
>>>>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
>>>>>> at
>>>>>>
>>>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
>>>>>> ... 12 more
>>>>>>
>>>>>> My camel context:
>>>>>>
>>>>>>
>>>>>> <?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:cxf="http://camel.apache.org/schema/cxf"
>>>>>> xsi:schemaLocation="
>>>>>> http://www.springframework.org/schema/beans
>>>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>>>>> http://camel.apache.org/schema/cxf
>>>>>> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>>>>>> http://camel.apache.org/schema/spring
>>>>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>>>>>> ">
>>>>>> <import resource="classpath:META-INF/cxf/cxf.xml"/>
>>>>>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>>>>>> <import
>>>>>> resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
>>>>>> />
>>>>>>
>>>>>> <bean id="builder" class="test.DynamicRouteBuilder"/>
>>>>>> <camelContext id="test_context"
>>>>>> xmlns="http://camel.apache.org/schema/spring">
>>>>>> <routeBuilder ref="builder"/>
>>>>>> </camelContext>
>>>>>>
>>>>>> <bean id="test" class="test.Test" init-method="doTest"
>>>>>> destroy-method="tearDown">
>>>>>> <property name="builder" ref="builder"/>
>>>>>> </bean>
>>>>>> </beans>
>>>>>>
>>>>>> And my import directives:
>>>>>> javax.jws,
>>>>>> javax.wsdl,
>>>>>> javax.xml.bind,
>>>>>> javax.xml.bind.annotation,
>>>>>> javax.xml.namespace,
>>>>>> javax.xml.soap,
>>>>>> javax.xml.ws,
>>>>>> META-INF.cxf,
>>>>>> META-INF.cxf.osgi,
>>>>>>
>>>>>> org.apache.cxf,
>>>>>> org.apache.cxf.binding,
>>>>>> org.apache.cxf.binding.soap,
>>>>>> org.apache.cxf.binding.soap.interceptor,
>>>>>> org.apache.cxf.binding.soap.model,
>>>>>> org.apache.cxf.binding.xml,
>>>>>> org.apache.cxf.bindings.xformat,
>>>>>> org.apache.cxf.common.classloader,
>>>>>> org.apache.cxf.common.i18n,
>>>>>> org.apache.cxf.common.logging,
>>>>>> org.apache.cxf.common.util,
>>>>>> org.apache.cxf.configuration,
>>>>>> org.apache.cxf.configuration.security,
>>>>>> org.apache.cxf.configuration.spring,
>>>>>> org.apache.cxf.databinding,
>>>>>> org.apache.cxf.endpoint,
>>>>>> org.apache.cxf.feature,
>>>>>> org.apache.cxf.frontend,
>>>>>> org.apache.cxf.headers,
>>>>>> org.apache.cxf.helpers,
>>>>>> org.apache.cxf.interceptor,
>>>>>> org.apache.cxf.io,
>>>>>> org.apache.cxf.jaxrs,
>>>>>> org.apache.cxf.jaxrs.client,
>>>>>> org.apache.cxf.jaxrs.model,
>>>>>> org.apache.cxf.jaxrs.utils,
>>>>>> org.apache.cxf.jaxws,
>>>>>> org.apache.cxf.jaxws.context,
>>>>>> org.apache.cxf.message,
>>>>>> org.apache.cxf.phase,
>>>>>> org.apache.cxf.service,
>>>>>> org.apache.cxf.service.factory,
>>>>>> org.apache.cxf.service.invoker,
>>>>>> org.apache.cxf.service.model,
>>>>>> org.apache.cxf.staxutils,
>>>>>> org.apache.cxf.ws.addressing,
>>>>>> org.apache.cxf.wsdl,
>>>>>> org.apache.cxf.wsdl11,
>>>>>> org.apache.cxf.transport,
>>>>>> org.apache.cxf.transport.http,
>>>>>> org.apache.cxf.transport.http_jetty,
>>>>>> org.apache.cxf.transport.http.policy,
>>>>>>
>>>>>> org.apache.cxf.bus,
>>>>>> org.apache.cxf.bus.spring,
>>>>>> org.apache.cxf.bus.resource,
>>>>>> org.apache.cxf.resource,
>>>>>> org.springframework.beans.factory.config,
>>>>>> org.apache.servicemix.common.osgi,
>>>>>> *
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>> View this message in context:
>>>>
>>>> http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26621724.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>>
>>
>
Re: Classpath problem with camel-cxf and OSGi
Posted by Willem Jiang <wi...@gmail.com>.
As we are in the middle of whole bunch of release.
CXF 2.2.5 , Camel 2.1.0 , then ServiceMix 4.1.0 ...
If you can wait for a week, you will get what you want :)
If you can't wait, you may need to uninstall the CXF 2.2.4 bundle and
reinstall CXF 2.2.5 bundle yourself.
Willem
TheWinch wrote:
> Is there a way to use Camel-cxf 2.1.0 in Servicemix 4.1.0 ?
>
> I have downloaded SMX 4.1.0-SNAPSHOT, but I can't install Camel-cxf. I have
> noted also that SMX uses CXF2.2.4 while Camel uses CXF 2.2.5. Any knowledge
> on this side ? Should I better ask in the SMX mailing list ?
>
>
> Claus Ibsen-2 wrote:
>> On Thu, Dec 3, 2009 at 9:09 AM, TheWinch
>> <vi...@thalesgroup.com> wrote:
>>> Hi,
>>>
>>> Thanks for this answer. Is there a place where I can get a packaged
>>> snapshot
>>> version of camel 2.1.0 ? Or should I build it from the SVN ?
>>>
>> Yes the download page at Camel have links to .zip of SNAPSHOT and how
>> to setup maven to use SNAPSHOT
>> http://camel.apache.org/download.html
>>
>>
>>
>>> willem.jiang wrote:
>>>> Hi,
>>>>
>>>> This issue is related the get default bus issue[1], and it should be
>>>> fixed in the coming out Camel 2.1.0.
>>>> [1]https://issues.apache.org/activemq/browse/CAMEL-2216
>>>>
>>>> Willem
>>>>
>>>> TheWinch wrote:
>>>>> Hi,
>>>>>
>>>>> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
>>>>> example that works perfectly well in camel 2.0.0 standalone, and that
>>>>> does
>>>>> not work in camel 2.0.0 deployed on SMX4 (code provided below).
>>>>> I have read on forums that this might come from class-path issues.
>>>>> However I
>>>>> can't see where it comes from. Could someone help ?
>>>>>
>>>>> To deploy the endpoint I do:
>>>>>
>>>>> // in Test:
>>>>> public void doTest() { builder.deployEndpoint(); }
>>>>> // in DynamicBuilder:
>>>>> public void deployEndpoint() {
>>>>> CamelContext context = getContext();
>>>>>
>>>>> final String endpointUri = "cxf:" +
>>>>> "http://localhost:9000/service"
>>>>> + "?serviceClass=" + SERVICE_CLASS;
>>>>> def = from( endpointUri );
>>>>> def.process( new CallbackProcessor() );
>>>>> context.addRouteDefinitions( Arrays.asList( def ) );
>>>>> context.startRoute( def );
>>>>> }
>>>>>
>>>>> This works OK in camel standalone, and in SMX4 this generates the
>>>>> following
>>>>> error:
>>>>>
>>>>> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException:
>>>>> Could
>>>>> not find destination factory for transport
>>>>> http://schemas.xmlsoap.org/soap/h
>>>>> ttp
>>>>> at
>>>>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
>>>>> at
>>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
>>>>> at
>>>>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
>>>>> at
>>>>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>>>> at
>>>>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>>>> at
>>>>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>>>> at
>>>>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>>>>> at
>>>>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>>>>> at
>>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
>>>>> ntext.java:380)
>>>>> at
>>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
>>>>> va:346)
>>>>> at
>>>>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>>>> at
>>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
>>>>> Context.java:308)
>>>>> at
>>>>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
>>>>> cyWaiterApplicationContextExecutor.java:138)
>>>>> at java.lang.Thread.run(Thread.java:619)
>>>>> Caused by: java.lang.RuntimeException: Could not find destination
>>>>> factory
>>>>> for transport http://schemas.xmlsoap.org/soap/http
>>>>> at
>>>>> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
>>>>> at
>>>>> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>>>>> at
>>>>> org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>>>>> at
>>>>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
>>>>> at
>>>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
>>>>> at
>>>>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
>>>>> at
>>>>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
>>>>> at
>>>>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
>>>>> at
>>>>> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
>>>>> at
>>>>> org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>>>>> at
>>>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>>>>> at
>>>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
>>>>> at
>>>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
>>>>> at
>>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
>>>>> ... 12 more
>>>>>
>>>>> My camel context:
>>>>>
>>>>>
>>>>> <?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:cxf="http://camel.apache.org/schema/cxf"
>>>>> xsi:schemaLocation="
>>>>> http://www.springframework.org/schema/beans
>>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>>>> http://camel.apache.org/schema/cxf
>>>>> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>>>>> http://camel.apache.org/schema/spring
>>>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>>>>> ">
>>>>> <import resource="classpath:META-INF/cxf/cxf.xml"/>
>>>>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>>>>> <import
>>>>> resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
>>>>> />
>>>>>
>>>>> <bean id="builder" class="test.DynamicRouteBuilder"/>
>>>>> <camelContext id="test_context"
>>>>> xmlns="http://camel.apache.org/schema/spring">
>>>>> <routeBuilder ref="builder"/>
>>>>> </camelContext>
>>>>>
>>>>> <bean id="test" class="test.Test" init-method="doTest"
>>>>> destroy-method="tearDown">
>>>>> <property name="builder" ref="builder"/>
>>>>> </bean>
>>>>> </beans>
>>>>>
>>>>> And my import directives:
>>>>> javax.jws,
>>>>> javax.wsdl,
>>>>> javax.xml.bind,
>>>>> javax.xml.bind.annotation,
>>>>> javax.xml.namespace,
>>>>> javax.xml.soap,
>>>>> javax.xml.ws,
>>>>> META-INF.cxf,
>>>>> META-INF.cxf.osgi,
>>>>>
>>>>> org.apache.cxf,
>>>>> org.apache.cxf.binding,
>>>>> org.apache.cxf.binding.soap,
>>>>> org.apache.cxf.binding.soap.interceptor,
>>>>> org.apache.cxf.binding.soap.model,
>>>>> org.apache.cxf.binding.xml,
>>>>> org.apache.cxf.bindings.xformat,
>>>>> org.apache.cxf.common.classloader,
>>>>> org.apache.cxf.common.i18n,
>>>>> org.apache.cxf.common.logging,
>>>>> org.apache.cxf.common.util,
>>>>> org.apache.cxf.configuration,
>>>>> org.apache.cxf.configuration.security,
>>>>> org.apache.cxf.configuration.spring,
>>>>> org.apache.cxf.databinding,
>>>>> org.apache.cxf.endpoint,
>>>>> org.apache.cxf.feature,
>>>>> org.apache.cxf.frontend,
>>>>> org.apache.cxf.headers,
>>>>> org.apache.cxf.helpers,
>>>>> org.apache.cxf.interceptor,
>>>>> org.apache.cxf.io,
>>>>> org.apache.cxf.jaxrs,
>>>>> org.apache.cxf.jaxrs.client,
>>>>> org.apache.cxf.jaxrs.model,
>>>>> org.apache.cxf.jaxrs.utils,
>>>>> org.apache.cxf.jaxws,
>>>>> org.apache.cxf.jaxws.context,
>>>>> org.apache.cxf.message,
>>>>> org.apache.cxf.phase,
>>>>> org.apache.cxf.service,
>>>>> org.apache.cxf.service.factory,
>>>>> org.apache.cxf.service.invoker,
>>>>> org.apache.cxf.service.model,
>>>>> org.apache.cxf.staxutils,
>>>>> org.apache.cxf.ws.addressing,
>>>>> org.apache.cxf.wsdl,
>>>>> org.apache.cxf.wsdl11,
>>>>> org.apache.cxf.transport,
>>>>> org.apache.cxf.transport.http,
>>>>> org.apache.cxf.transport.http_jetty,
>>>>> org.apache.cxf.transport.http.policy,
>>>>>
>>>>> org.apache.cxf.bus,
>>>>> org.apache.cxf.bus.spring,
>>>>> org.apache.cxf.bus.resource,
>>>>> org.apache.cxf.resource,
>>>>> org.springframework.beans.factory.config,
>>>>> org.apache.servicemix.common.osgi,
>>>>> *
>>>>>
>>>>>
>>>>
>>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26621724.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
Re: Classpath problem with camel-cxf and OSGi
Posted by TheWinch <vi...@thalesgroup.com>.
Is there a way to use Camel-cxf 2.1.0 in Servicemix 4.1.0 ?
I have downloaded SMX 4.1.0-SNAPSHOT, but I can't install Camel-cxf. I have
noted also that SMX uses CXF2.2.4 while Camel uses CXF 2.2.5. Any knowledge
on this side ? Should I better ask in the SMX mailing list ?
Claus Ibsen-2 wrote:
>
> On Thu, Dec 3, 2009 at 9:09 AM, TheWinch
> <vi...@thalesgroup.com> wrote:
>>
>> Hi,
>>
>> Thanks for this answer. Is there a place where I can get a packaged
>> snapshot
>> version of camel 2.1.0 ? Or should I build it from the SVN ?
>>
>
> Yes the download page at Camel have links to .zip of SNAPSHOT and how
> to setup maven to use SNAPSHOT
> http://camel.apache.org/download.html
>
>
>
>>
>> willem.jiang wrote:
>>>
>>> Hi,
>>>
>>> This issue is related the get default bus issue[1], and it should be
>>> fixed in the coming out Camel 2.1.0.
>>> [1]https://issues.apache.org/activemq/browse/CAMEL-2216
>>>
>>> Willem
>>>
>>> TheWinch wrote:
>>>> Hi,
>>>>
>>>> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
>>>> example that works perfectly well in camel 2.0.0 standalone, and that
>>>> does
>>>> not work in camel 2.0.0 deployed on SMX4 (code provided below).
>>>> I have read on forums that this might come from class-path issues.
>>>> However I
>>>> can't see where it comes from. Could someone help ?
>>>>
>>>> To deploy the endpoint I do:
>>>>
>>>> // in Test:
>>>> public void doTest() { builder.deployEndpoint(); }
>>>> // in DynamicBuilder:
>>>> public void deployEndpoint() {
>>>> CamelContext context = getContext();
>>>>
>>>> final String endpointUri = "cxf:" +
>>>> "http://localhost:9000/service"
>>>> + "?serviceClass=" + SERVICE_CLASS;
>>>> def = from( endpointUri );
>>>> def.process( new CallbackProcessor() );
>>>> context.addRouteDefinitions( Arrays.asList( def ) );
>>>> context.startRoute( def );
>>>> }
>>>>
>>>> This works OK in camel standalone, and in SMX4 this generates the
>>>> following
>>>> error:
>>>>
>>>> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException:
>>>> Could
>>>> not find destination factory for transport
>>>> http://schemas.xmlsoap.org/soap/h
>>>> ttp
>>>> at
>>>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
>>>> at
>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
>>>> at
>>>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
>>>> at
>>>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>>> at
>>>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>>> at
>>>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>>> at
>>>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>>>> at
>>>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>>>> at
>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
>>>> ntext.java:380)
>>>> at
>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
>>>> va:346)
>>>> at
>>>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>>> at
>>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
>>>> Context.java:308)
>>>> at
>>>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
>>>> cyWaiterApplicationContextExecutor.java:138)
>>>> at java.lang.Thread.run(Thread.java:619)
>>>> Caused by: java.lang.RuntimeException: Could not find destination
>>>> factory
>>>> for transport http://schemas.xmlsoap.org/soap/http
>>>> at
>>>> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
>>>> at
>>>> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>>>> at
>>>> org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>>>> at
>>>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
>>>> at
>>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
>>>> at
>>>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
>>>> at
>>>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
>>>> at
>>>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
>>>> at
>>>> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
>>>> at
>>>> org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>>>> at
>>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>>>> at
>>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
>>>> at
>>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
>>>> at
>>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
>>>> ... 12 more
>>>>
>>>> My camel context:
>>>>
>>>>
>>>> <?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:cxf="http://camel.apache.org/schema/cxf"
>>>> xsi:schemaLocation="
>>>> http://www.springframework.org/schema/beans
>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>>> http://camel.apache.org/schema/cxf
>>>> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>>>> http://camel.apache.org/schema/spring
>>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>>>> ">
>>>> <import resource="classpath:META-INF/cxf/cxf.xml"/>
>>>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>>>> <import
>>>> resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
>>>> />
>>>>
>>>> <bean id="builder" class="test.DynamicRouteBuilder"/>
>>>> <camelContext id="test_context"
>>>> xmlns="http://camel.apache.org/schema/spring">
>>>> <routeBuilder ref="builder"/>
>>>> </camelContext>
>>>>
>>>> <bean id="test" class="test.Test" init-method="doTest"
>>>> destroy-method="tearDown">
>>>> <property name="builder" ref="builder"/>
>>>> </bean>
>>>> </beans>
>>>>
>>>> And my import directives:
>>>> javax.jws,
>>>> javax.wsdl,
>>>> javax.xml.bind,
>>>> javax.xml.bind.annotation,
>>>> javax.xml.namespace,
>>>> javax.xml.soap,
>>>> javax.xml.ws,
>>>> META-INF.cxf,
>>>> META-INF.cxf.osgi,
>>>>
>>>> org.apache.cxf,
>>>> org.apache.cxf.binding,
>>>> org.apache.cxf.binding.soap,
>>>> org.apache.cxf.binding.soap.interceptor,
>>>> org.apache.cxf.binding.soap.model,
>>>> org.apache.cxf.binding.xml,
>>>> org.apache.cxf.bindings.xformat,
>>>> org.apache.cxf.common.classloader,
>>>> org.apache.cxf.common.i18n,
>>>> org.apache.cxf.common.logging,
>>>> org.apache.cxf.common.util,
>>>> org.apache.cxf.configuration,
>>>> org.apache.cxf.configuration.security,
>>>> org.apache.cxf.configuration.spring,
>>>> org.apache.cxf.databinding,
>>>> org.apache.cxf.endpoint,
>>>> org.apache.cxf.feature,
>>>> org.apache.cxf.frontend,
>>>> org.apache.cxf.headers,
>>>> org.apache.cxf.helpers,
>>>> org.apache.cxf.interceptor,
>>>> org.apache.cxf.io,
>>>> org.apache.cxf.jaxrs,
>>>> org.apache.cxf.jaxrs.client,
>>>> org.apache.cxf.jaxrs.model,
>>>> org.apache.cxf.jaxrs.utils,
>>>> org.apache.cxf.jaxws,
>>>> org.apache.cxf.jaxws.context,
>>>> org.apache.cxf.message,
>>>> org.apache.cxf.phase,
>>>> org.apache.cxf.service,
>>>> org.apache.cxf.service.factory,
>>>> org.apache.cxf.service.invoker,
>>>> org.apache.cxf.service.model,
>>>> org.apache.cxf.staxutils,
>>>> org.apache.cxf.ws.addressing,
>>>> org.apache.cxf.wsdl,
>>>> org.apache.cxf.wsdl11,
>>>> org.apache.cxf.transport,
>>>> org.apache.cxf.transport.http,
>>>> org.apache.cxf.transport.http_jetty,
>>>> org.apache.cxf.transport.http.policy,
>>>>
>>>> org.apache.cxf.bus,
>>>> org.apache.cxf.bus.spring,
>>>> org.apache.cxf.bus.resource,
>>>> org.apache.cxf.resource,
>>>> org.springframework.beans.factory.config,
>>>> org.apache.servicemix.common.osgi,
>>>> *
>>>>
>>>>
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26621724.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
--
View this message in context: http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26633543.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Classpath problem with camel-cxf and OSGi
Posted by Claus Ibsen <cl...@gmail.com>.
On Thu, Dec 3, 2009 at 9:09 AM, TheWinch
<vi...@thalesgroup.com> wrote:
>
> Hi,
>
> Thanks for this answer. Is there a place where I can get a packaged snapshot
> version of camel 2.1.0 ? Or should I build it from the SVN ?
>
Yes the download page at Camel have links to .zip of SNAPSHOT and how
to setup maven to use SNAPSHOT
http://camel.apache.org/download.html
>
> willem.jiang wrote:
>>
>> Hi,
>>
>> This issue is related the get default bus issue[1], and it should be
>> fixed in the coming out Camel 2.1.0.
>> [1]https://issues.apache.org/activemq/browse/CAMEL-2216
>>
>> Willem
>>
>> TheWinch wrote:
>>> Hi,
>>>
>>> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
>>> example that works perfectly well in camel 2.0.0 standalone, and that
>>> does
>>> not work in camel 2.0.0 deployed on SMX4 (code provided below).
>>> I have read on forums that this might come from class-path issues.
>>> However I
>>> can't see where it comes from. Could someone help ?
>>>
>>> To deploy the endpoint I do:
>>>
>>> // in Test:
>>> public void doTest() { builder.deployEndpoint(); }
>>> // in DynamicBuilder:
>>> public void deployEndpoint() {
>>> CamelContext context = getContext();
>>>
>>> final String endpointUri = "cxf:" +
>>> "http://localhost:9000/service"
>>> + "?serviceClass=" + SERVICE_CLASS;
>>> def = from( endpointUri );
>>> def.process( new CallbackProcessor() );
>>> context.addRouteDefinitions( Arrays.asList( def ) );
>>> context.startRoute( def );
>>> }
>>>
>>> This works OK in camel standalone, and in SMX4 this generates the
>>> following
>>> error:
>>>
>>> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Could
>>> not find destination factory for transport
>>> http://schemas.xmlsoap.org/soap/h
>>> ttp
>>> at
>>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
>>> at
>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
>>> at
>>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
>>> at
>>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>> at
>>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>> at
>>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>> at
>>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>>> at
>>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>>> at
>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
>>> ntext.java:380)
>>> at
>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
>>> va:346)
>>> at
>>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>>> at
>>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
>>> Context.java:308)
>>> at
>>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
>>> cyWaiterApplicationContextExecutor.java:138)
>>> at java.lang.Thread.run(Thread.java:619)
>>> Caused by: java.lang.RuntimeException: Could not find destination factory
>>> for transport http://schemas.xmlsoap.org/soap/http
>>> at
>>> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
>>> at
>>> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>>> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>>> at
>>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
>>> at
>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
>>> at
>>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
>>> at
>>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
>>> at
>>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
>>> at
>>> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
>>> at
>>> org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>>> at
>>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>>> at
>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
>>> at
>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
>>> at
>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
>>> ... 12 more
>>>
>>> My camel context:
>>>
>>>
>>> <?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:cxf="http://camel.apache.org/schema/cxf"
>>> xsi:schemaLocation="
>>> http://www.springframework.org/schema/beans
>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>> http://camel.apache.org/schema/cxf
>>> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>>> http://camel.apache.org/schema/spring
>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>>> ">
>>> <import resource="classpath:META-INF/cxf/cxf.xml"/>
>>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>>> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
>>> />
>>>
>>> <bean id="builder" class="test.DynamicRouteBuilder"/>
>>> <camelContext id="test_context"
>>> xmlns="http://camel.apache.org/schema/spring">
>>> <routeBuilder ref="builder"/>
>>> </camelContext>
>>>
>>> <bean id="test" class="test.Test" init-method="doTest"
>>> destroy-method="tearDown">
>>> <property name="builder" ref="builder"/>
>>> </bean>
>>> </beans>
>>>
>>> And my import directives:
>>> javax.jws,
>>> javax.wsdl,
>>> javax.xml.bind,
>>> javax.xml.bind.annotation,
>>> javax.xml.namespace,
>>> javax.xml.soap,
>>> javax.xml.ws,
>>> META-INF.cxf,
>>> META-INF.cxf.osgi,
>>>
>>> org.apache.cxf,
>>> org.apache.cxf.binding,
>>> org.apache.cxf.binding.soap,
>>> org.apache.cxf.binding.soap.interceptor,
>>> org.apache.cxf.binding.soap.model,
>>> org.apache.cxf.binding.xml,
>>> org.apache.cxf.bindings.xformat,
>>> org.apache.cxf.common.classloader,
>>> org.apache.cxf.common.i18n,
>>> org.apache.cxf.common.logging,
>>> org.apache.cxf.common.util,
>>> org.apache.cxf.configuration,
>>> org.apache.cxf.configuration.security,
>>> org.apache.cxf.configuration.spring,
>>> org.apache.cxf.databinding,
>>> org.apache.cxf.endpoint,
>>> org.apache.cxf.feature,
>>> org.apache.cxf.frontend,
>>> org.apache.cxf.headers,
>>> org.apache.cxf.helpers,
>>> org.apache.cxf.interceptor,
>>> org.apache.cxf.io,
>>> org.apache.cxf.jaxrs,
>>> org.apache.cxf.jaxrs.client,
>>> org.apache.cxf.jaxrs.model,
>>> org.apache.cxf.jaxrs.utils,
>>> org.apache.cxf.jaxws,
>>> org.apache.cxf.jaxws.context,
>>> org.apache.cxf.message,
>>> org.apache.cxf.phase,
>>> org.apache.cxf.service,
>>> org.apache.cxf.service.factory,
>>> org.apache.cxf.service.invoker,
>>> org.apache.cxf.service.model,
>>> org.apache.cxf.staxutils,
>>> org.apache.cxf.ws.addressing,
>>> org.apache.cxf.wsdl,
>>> org.apache.cxf.wsdl11,
>>> org.apache.cxf.transport,
>>> org.apache.cxf.transport.http,
>>> org.apache.cxf.transport.http_jetty,
>>> org.apache.cxf.transport.http.policy,
>>>
>>> org.apache.cxf.bus,
>>> org.apache.cxf.bus.spring,
>>> org.apache.cxf.bus.resource,
>>> org.apache.cxf.resource,
>>> org.springframework.beans.factory.config,
>>> org.apache.servicemix.common.osgi,
>>> *
>>>
>>>
>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26621724.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Re: Classpath problem with camel-cxf and OSGi
Posted by TheWinch <vi...@thalesgroup.com>.
Hi,
Thanks for this answer. Is there a place where I can get a packaged snapshot
version of camel 2.1.0 ? Or should I build it from the SVN ?
willem.jiang wrote:
>
> Hi,
>
> This issue is related the get default bus issue[1], and it should be
> fixed in the coming out Camel 2.1.0.
> [1]https://issues.apache.org/activemq/browse/CAMEL-2216
>
> Willem
>
> TheWinch wrote:
>> Hi,
>>
>> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
>> example that works perfectly well in camel 2.0.0 standalone, and that
>> does
>> not work in camel 2.0.0 deployed on SMX4 (code provided below).
>> I have read on forums that this might come from class-path issues.
>> However I
>> can't see where it comes from. Could someone help ?
>>
>> To deploy the endpoint I do:
>>
>> // in Test:
>> public void doTest() { builder.deployEndpoint(); }
>> // in DynamicBuilder:
>> public void deployEndpoint() {
>> CamelContext context = getContext();
>>
>> final String endpointUri = "cxf:" +
>> "http://localhost:9000/service"
>> + "?serviceClass=" + SERVICE_CLASS;
>> def = from( endpointUri );
>> def.process( new CallbackProcessor() );
>> context.addRouteDefinitions( Arrays.asList( def ) );
>> context.startRoute( def );
>> }
>>
>> This works OK in camel standalone, and in SMX4 this generates the
>> following
>> error:
>>
>> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Could
>> not find destination factory for transport
>> http://schemas.xmlsoap.org/soap/h
>> ttp
>> at
>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
>> at
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
>> at
>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
>> at
>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>> at
>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>> at
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>> at
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>> at
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>> at
>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
>> ntext.java:380)
>> at
>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
>> va:346)
>> at
>> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
>> at
>> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
>> Context.java:308)
>> at
>> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
>> cyWaiterApplicationContextExecutor.java:138)
>> at java.lang.Thread.run(Thread.java:619)
>> Caused by: java.lang.RuntimeException: Could not find destination factory
>> for transport http://schemas.xmlsoap.org/soap/http
>> at
>> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
>> at
>> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>> at
>> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
>> at
>> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
>> at
>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
>> at
>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
>> at
>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
>> at
>> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
>> at
>> org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>> at
>> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
>> at
>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
>> at
>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
>> at
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
>> ... 12 more
>>
>> My camel context:
>>
>>
>> <?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:cxf="http://camel.apache.org/schema/cxf"
>> xsi:schemaLocation="
>> http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>> http://camel.apache.org/schema/cxf
>> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>> http://camel.apache.org/schema/spring
>> http://camel.apache.org/schema/spring/camel-spring.xsd
>> ">
>> <import resource="classpath:META-INF/cxf/cxf.xml"/>
>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
>> />
>>
>> <bean id="builder" class="test.DynamicRouteBuilder"/>
>> <camelContext id="test_context"
>> xmlns="http://camel.apache.org/schema/spring">
>> <routeBuilder ref="builder"/>
>> </camelContext>
>>
>> <bean id="test" class="test.Test" init-method="doTest"
>> destroy-method="tearDown">
>> <property name="builder" ref="builder"/>
>> </bean>
>> </beans>
>>
>> And my import directives:
>> javax.jws,
>> javax.wsdl,
>> javax.xml.bind,
>> javax.xml.bind.annotation,
>> javax.xml.namespace,
>> javax.xml.soap,
>> javax.xml.ws,
>> META-INF.cxf,
>> META-INF.cxf.osgi,
>>
>> org.apache.cxf,
>> org.apache.cxf.binding,
>> org.apache.cxf.binding.soap,
>> org.apache.cxf.binding.soap.interceptor,
>> org.apache.cxf.binding.soap.model,
>> org.apache.cxf.binding.xml,
>> org.apache.cxf.bindings.xformat,
>> org.apache.cxf.common.classloader,
>> org.apache.cxf.common.i18n,
>> org.apache.cxf.common.logging,
>> org.apache.cxf.common.util,
>> org.apache.cxf.configuration,
>> org.apache.cxf.configuration.security,
>> org.apache.cxf.configuration.spring,
>> org.apache.cxf.databinding,
>> org.apache.cxf.endpoint,
>> org.apache.cxf.feature,
>> org.apache.cxf.frontend,
>> org.apache.cxf.headers,
>> org.apache.cxf.helpers,
>> org.apache.cxf.interceptor,
>> org.apache.cxf.io,
>> org.apache.cxf.jaxrs,
>> org.apache.cxf.jaxrs.client,
>> org.apache.cxf.jaxrs.model,
>> org.apache.cxf.jaxrs.utils,
>> org.apache.cxf.jaxws,
>> org.apache.cxf.jaxws.context,
>> org.apache.cxf.message,
>> org.apache.cxf.phase,
>> org.apache.cxf.service,
>> org.apache.cxf.service.factory,
>> org.apache.cxf.service.invoker,
>> org.apache.cxf.service.model,
>> org.apache.cxf.staxutils,
>> org.apache.cxf.ws.addressing,
>> org.apache.cxf.wsdl,
>> org.apache.cxf.wsdl11,
>> org.apache.cxf.transport,
>> org.apache.cxf.transport.http,
>> org.apache.cxf.transport.http_jetty,
>> org.apache.cxf.transport.http.policy,
>>
>> org.apache.cxf.bus,
>> org.apache.cxf.bus.spring,
>> org.apache.cxf.bus.resource,
>> org.apache.cxf.resource,
>> org.springframework.beans.factory.config,
>> org.apache.servicemix.common.osgi,
>> *
>>
>>
>
>
>
--
View this message in context: http://old.nabble.com/Classpath-problem-with-camel-cxf-and-OSGi-tp26612544p26621724.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Classpath problem with camel-cxf and OSGi
Posted by Willem Jiang <wi...@gmail.com>.
Hi,
This issue is related the get default bus issue[1], and it should be
fixed in the coming out Camel 2.1.0.
[1]https://issues.apache.org/activemq/browse/CAMEL-2216
Willem
TheWinch wrote:
> Hi,
>
> I'm trying to deploy dynamically endpoints using camel-cxf. I have an
> example that works perfectly well in camel 2.0.0 standalone, and that does
> not work in camel 2.0.0 deployed on SMX4 (code provided below).
> I have read on forums that this might come from class-path issues. However I
> can't see where it comes from. Could someone help ?
>
> To deploy the endpoint I do:
>
> // in Test:
> public void doTest() { builder.deployEndpoint(); }
> // in DynamicBuilder:
> public void deployEndpoint() {
> CamelContext context = getContext();
>
> final String endpointUri = "cxf:" + "http://localhost:9000/service"
> + "?serviceClass=" + SERVICE_CLASS;
> def = from( endpointUri );
> def.process( new CallbackProcessor() );
> context.addRouteDefinitions( Arrays.asList( def ) );
> context.startRoute( def );
> }
>
> This works OK in camel standalone, and in SMX4 this generates the following
> error:
>
> org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Could
> not find destination factory for transport http://schemas.xmlsoap.org/soap/h
> ttp
> at
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1011)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:121)
> at
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
> at
> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
> at
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
> at
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
> at
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.finishRefresh(AbstractDelegatedExecutionApplicationCo
> ntext.java:380)
> at
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.ja
> va:346)
> at
> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
> at
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplication
> Context.java:308)
> at
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(Dependen
> cyWaiterApplicationContextExecutor.java:138)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.RuntimeException: Could not find destination factory
> for transport http://schemas.xmlsoap.org/soap/http
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:76)
> at
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
> at
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
> at
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
> at
> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:108)
> at
> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:97)
> at
> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:57)
> at
> org.apache.camel.impl.DefaultRoute.getServicesForRoute(DefaultRoute.java:81)
> at org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
> at
> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:825)
> at
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
> ... 12 more
>
> My camel context:
>
>
> <?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:cxf="http://camel.apache.org/schema/cxf"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
> http://camel.apache.org/schema/cxf
> http://camel.apache.org/schema/cxf/camel-cxf.xsd
> http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd
> ">
> <import resource="classpath:META-INF/cxf/cxf.xml"/>
> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
>
> <bean id="builder" class="test.DynamicRouteBuilder"/>
> <camelContext id="test_context"
> xmlns="http://camel.apache.org/schema/spring">
> <routeBuilder ref="builder"/>
> </camelContext>
>
> <bean id="test" class="test.Test" init-method="doTest"
> destroy-method="tearDown">
> <property name="builder" ref="builder"/>
> </bean>
> </beans>
>
> And my import directives:
> javax.jws,
> javax.wsdl,
> javax.xml.bind,
> javax.xml.bind.annotation,
> javax.xml.namespace,
> javax.xml.soap,
> javax.xml.ws,
> META-INF.cxf,
> META-INF.cxf.osgi,
>
> org.apache.cxf,
> org.apache.cxf.binding,
> org.apache.cxf.binding.soap,
> org.apache.cxf.binding.soap.interceptor,
> org.apache.cxf.binding.soap.model,
> org.apache.cxf.binding.xml,
> org.apache.cxf.bindings.xformat,
> org.apache.cxf.common.classloader,
> org.apache.cxf.common.i18n,
> org.apache.cxf.common.logging,
> org.apache.cxf.common.util,
> org.apache.cxf.configuration,
> org.apache.cxf.configuration.security,
> org.apache.cxf.configuration.spring,
> org.apache.cxf.databinding,
> org.apache.cxf.endpoint,
> org.apache.cxf.feature,
> org.apache.cxf.frontend,
> org.apache.cxf.headers,
> org.apache.cxf.helpers,
> org.apache.cxf.interceptor,
> org.apache.cxf.io,
> org.apache.cxf.jaxrs,
> org.apache.cxf.jaxrs.client,
> org.apache.cxf.jaxrs.model,
> org.apache.cxf.jaxrs.utils,
> org.apache.cxf.jaxws,
> org.apache.cxf.jaxws.context,
> org.apache.cxf.message,
> org.apache.cxf.phase,
> org.apache.cxf.service,
> org.apache.cxf.service.factory,
> org.apache.cxf.service.invoker,
> org.apache.cxf.service.model,
> org.apache.cxf.staxutils,
> org.apache.cxf.ws.addressing,
> org.apache.cxf.wsdl,
> org.apache.cxf.wsdl11,
> org.apache.cxf.transport,
> org.apache.cxf.transport.http,
> org.apache.cxf.transport.http_jetty,
> org.apache.cxf.transport.http.policy,
>
> org.apache.cxf.bus,
> org.apache.cxf.bus.spring,
> org.apache.cxf.bus.resource,
> org.apache.cxf.resource,
> org.springframework.beans.factory.config,
> org.apache.servicemix.common.osgi,
> *
>
>