J’ai parcouru l’exemple sur le site Web Apache camel et camel in action et tous deux se concentrent fortement sur l’exposition d’un service Web. Le seul exemple que j’ai trouvé en ligne ne fonctionne pas.
J’essaie d’accéder à un service Web tiers wsdl – http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
Ce service a une opération / méthode qui calcule le taux de change. Le nom de l’opération est “ConversionRate”.
J’ai défini l’itinéraire comme ceci –
here is a sample which processes the input files (leaving them in place - see the 'noop' flag) then performs content based routing on the message using XPath
J’ai défini l’exemple de payload xml comme –
1 10.00 2
Je reçois cette erreur lorsque je lance cet exemple.
Error occurred while running main from: org.apache.camel.spring.Main java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.camel.maven.RunMojo$1.run(RunMojo.java:440) at java.lang.Thread.run(Thread.java:744) Caused by: org.apache.camel.FailedToCreateProducerException: Failed to create Producer for endpoint: Endpoint[cxf://http://www.webservicex.net/CurrencyConvertor.asmx?dataFormat=MESSAGE&portName=http%3A%2F%2Fwww.webserviceX.NET%2Ftns%3ACurrencyConvertorSoap&serviceName=CurrencyConvertor&wsdlURL=http%3A%2F%2Fwww.webservicex.net%2FCurrencyConvertor.asmx%3Fwsdl]. Reason: org.apache.cxf.service.factory.ServiceConstructionException: Could not find definition for service CurrencyConvertor. at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:395) at org.apache.camel.impl.ProducerCache.acquireProducer(ProducerCache.java:114) at org.apache.camel.impl.ProducerCache.startProducer(ProducerCache.java:145) at org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:175) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78) at org.apache.camel.processor.interceptor.TraceInterceptor.doStart(TraceInterceptor.java:358) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.processor.WrapProcessor.doStart(WrapProcessor.java:52) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1064) at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:41) at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:28) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.interceptor.DefaultChannel.doStart(DefaultChannel.java:153) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:85) at org.apache.camel.processor.MulticastProcessor.doStart(MulticastProcessor.java:938) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78) at org.apache.camel.processor.UnitOfWorkProcessor.doStart(UnitOfWorkProcessor.java:88) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52) at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73) at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:78) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.impl.RouteService.startChildService(RouteService.java:322) at org.apache.camel.impl.RouteService.warmUp(RouteService.java:151) at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:2000) at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1928) at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1716) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1597) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1453) at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:179) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1421) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:228) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:118) at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:283) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:327) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:941) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:475) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:93) at org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:186) at org.apache.camel.spring.Main.doStart(Main.java:140) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.main.MainSupport.run(MainSupport.java:141) at org.apache.camel.main.MainSupport.run(MainSupport.java:332) at org.apache.camel.spring.Main.main(Main.java:73) ... 6 more Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Could not find definition for service CurrencyConvertor. at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:139) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:412) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:534) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:248) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90) at org.apache.camel.component.cxf.CxfEndpoint.createClient(CxfEndpoint.java:527) at org.apache.camel.component.cxf.CxfProducer.doStart(CxfProducer.java:76) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62) at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:393) ... 88 more *************************************.
L’URI de destination semble être incorrect selon la documentation CXF .
Le format pour serviceName
et portName
doit être {namespace}name
portName
{namespace}name
Essayez avec: