You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "M, Ramya (Nokia - IN/Bangalore)" <ra...@nokia.com> on 2018/08/28 11:11:28 UTC

rest services in servicemix 3.4.0

HI Team,

Please help me to solve this

I am trying to create rest services inside servicemix 3.4.0 by using camel-cfxrs
I created  camel serviceunit  and service assembly and  deployed in servicemix 3.4.0

Camel service unit : configure

public void configure() {

                 from("cxfrs://http://localhost:9000?resourceClasses=" + ExampleResource.class.getName())
            .process(new Processor() {
                public void process(Exchange exchange) throws Exception {
                    //custom processing here
                }
            })
            .setBody(constant("SUCESS"))
                     .to("log:org.apache.servicemix.rest.example.MyRouteBuilder");
   }

After deploying getting these error :

</msg-loc-info>
</task-status-msg>
                                                <exception-info>
                                                                <nesting-level>1</nesting-level>
                                                                <msg-loc-info>
                                                                                <loc-token/>
                                                                                <loc-message>org.apache.cxf.service.factory.ServiceConstructionException</loc-message>
                                                                                <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException: org.apache.cxf.service.factory.ServiceConstructionException
                at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1164)
                at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:117)
                at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:240)
                at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
                at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
                at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
                at org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:86)
                at org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
                at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:86)
                at org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
                at org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:543)
                at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:345)
                at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
                at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:648)
                at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
                at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:612)
                at java.util.TimerThread.mainLoop(Timer.java:555)
                at java.util.TimerThread.run(Timer.java:505)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
                at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:190)
                at org.apache.camel.component.cxf.jaxrs.CxfRsConsumer.<init>(CxfRsConsumer.java:38)
                at org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createConsumer(CxfRsEndpoint.java:106)
                at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:61)
                at org.apache.camel.impl.DefaultRoute.onStartingServices(DefaultRoute.java:75)
                at org.apache.camel.impl.RouteService.warmUp(RouteService.java:124)
                at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:1857)
                at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1785)
                at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1570)
                at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1460)
                at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1349)
                at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:176)
                at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
                at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
                at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1317)
                at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:221)
                at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:115)
                ... 17 more
Caused by: java.io.IOException: Cannot find any registered HttpDestinationFactory from the Bus.
                at org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:270)
                at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93)
                at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72)
                at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:149)
                ... 33 more
]]></stack-trace>
                                                                </msg-loc-info>
                                                </exception-info>
                                </task-result-details>
                </component-task-result-details>


Thanks & Regards ,
Ramya


Re: rest services in servicemix 3.4.0

Posted by Daniel Kulp <dk...@apache.org>.
All of the versions of things you are using (CXF 2.4.4, Came. 2.8.x, ServiceMix 3.4.0, etc…) have LONG LONG been unsupported.  You are pretty much on your own.    I strongly suggest you upgrade to supported versions.  Not just for the sake of being able to get help, but also to fix all the security vulnerabilities in the versions you are using.

That said, for newer versions of CXF, that error MAY happen if the cxf-rt-transports-jetty bundle is not installed and started.  I don’t know if that would also apply with 2.4.4.  The OSGi support in the older CXF’s was very different.

Dan



> On Aug 28, 2018, at 7:11 AM, M, Ramya (Nokia - IN/Bangalore) <ra...@nokia.com> wrote:
> 
> HI Team,
> 
> Please help me to solve this
> 
> I am trying to create rest services inside servicemix 3.4.0 by using camel-cfxrs
> I created  camel serviceunit  and service assembly and  deployed in servicemix 3.4.0
> 
> Camel service unit : configure
> 
> public void configure() {
> 
>                 from("cxfrs://http://localhost:9000?resourceClasses=" + ExampleResource.class.getName())
>            .process(new Processor() {
>                public void process(Exchange exchange) throws Exception {
>                    //custom processing here
>                }
>            })
>            .setBody(constant("SUCESS"))
>                     .to("log:org.apache.servicemix.rest.example.MyRouteBuilder");
>   }
> 
> After deploying getting these error :
> 
> </msg-loc-info>
> </task-status-msg>
>                                                <exception-info>
>                                                                <nesting-level>1</nesting-level>
>                                                                <msg-loc-info>
>                                                                                <loc-token/>
>                                                                                <loc-message>org.apache.cxf.service.factory.ServiceConstructionException</loc-message>
>                                                                                <stack-trace><![CDATA[org.apache.camel.RuntimeCamelException: org.apache.cxf.service.factory.ServiceConstructionException
>                at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1164)
>                at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:117)
>                at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:240)
>                at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>                at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>                at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>                at org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:86)
>                at org.apache.servicemix.camel.CamelSpringDeployer.deploy(CamelSpringDeployer.java:76)
>                at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:86)
>                at org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
>                at org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:543)
>                at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:345)
>                at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
>                at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:648)
>                at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
>                at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:612)
>                at java.util.TimerThread.mainLoop(Timer.java:555)
>                at java.util.TimerThread.run(Timer.java:505)
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
>                at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:190)
>                at org.apache.camel.component.cxf.jaxrs.CxfRsConsumer.<init>(CxfRsConsumer.java:38)
>                at org.apache.camel.component.cxf.jaxrs.CxfRsEndpoint.createConsumer(CxfRsEndpoint.java:106)
>                at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:61)
>                at org.apache.camel.impl.DefaultRoute.onStartingServices(DefaultRoute.java:75)
>                at org.apache.camel.impl.RouteService.warmUp(RouteService.java:124)
>                at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:1857)
>                at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1785)
>                at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1570)
>                at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1460)
>                at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1349)
>                at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:176)
>                at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
>                at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
>                at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1317)
>                at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:221)
>                at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:115)
>                ... 17 more
> Caused by: java.io.IOException: Cannot find any registered HttpDestinationFactory from the Bus.
>                at org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:270)
>                at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93)
>                at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72)
>                at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:149)
>                ... 33 more
> ]]></stack-trace>
>                                                                </msg-loc-info>
>                                                </exception-info>
>                                </task-result-details>
>                </component-task-result-details>
> 
> 
> Thanks & Regards ,
> Ramya
> 

-- 
Daniel Kulp
dkulp@apache.org <ma...@apache.org> - http://dankulp.com/blog <http://dankulp.com/blog>
Talend Community Coder - http://talend.com <http://coders.talend.com/>