You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Vyacheslav Boyko <ma...@gmail.com> on 2021/12/25 18:11:27 UTC

CXF endpoint is not registered into Spring registry?

Hi!

I have one CxfEnpoint configured by method hostCxfEndpointService. It 
actually is found as I send to it from route:

.to("cxf:bean:hostCxfEndpointService")

But the second one called hostCxfEndpointInformation could not be found.

I use Camel 3.11 and have tried with 3.13. Code is following, the 
exception is placed below.

What do I do wrong?

@Configuration public class HostCxfEndpointConfiguration {

     @Bean public CxfEndpoint hostCxfEndpointService(CamelContext camelContext,
                                               SpringBus springBus,
                                               @Value("${app.host.card-service.wsdl-location}") String wsdlLocation,
                                               @Value("${app.host.card-service.endpoint}") String endpointUrl) {
         return createHostEndpoint(camelContext, springBus,"hostCxfEndpointService", wsdlLocation, endpointUrl, CardService.class);
     }

     @Bean public CxfEndpoint hostCxfEndpointInformation(CamelContext camelContext,
                                                   SpringBus springBus,
                                                   @Value("${app.host.card-information.wsdl-location}") String wsdlLocation,
                                                   @Value("${app.host.card-information.endpoint}") String endpointUrl) {
         return createHostEndpoint(camelContext, springBus,"hostCxfEndpointInformation", wsdlLocation, endpointUrl, CardInformation.class);
     }

     // 
https://blog.codecentric.de/en/2016/07/spring-boot-apache-cxf-logging-monitoring-logback-elasticsearch-logstash-kibana/ 
@Bean(name = Bus.DEFAULT_BUS_ID)
     public SpringBus springBus() {
         SpringBus springBus =new SpringBus();
         LoggingFeature logFeature =new LoggingFeature();
         logFeature.setPrettyLogging(true);
         logFeature.initialize(springBus);
         springBus.getFeatures().add(logFeature);
         return springBus;
     }

     private CxfEndpoint createHostEndpoint(CamelContext camelContext,
                                            SpringBus springBus,
                                            String beanId,
                                            String wsdlLocation,
                                            String endpointUrl,
                                            Class<?> tClass) {
         CxfEndpoint endpoint =new CxfEndpoint();
         endpoint.setBeanId(beanId);
         endpoint.setAddress(endpointUrl);
         endpoint.setCamelContext(camelContext);
         endpoint.setDataFormat(DataFormat.POJO);
         endpoint.setServiceClass(tClass);
         endpoint.setWsdlURL(wsdlLocation);
         endpoint.setSynchronous(true);
         endpoint.setLoggingFeatureEnabled(true);

         LoggingFeature logFeature =new LoggingFeature();
         logFeature.setPrettyLogging(true);
         logFeature.initialize(springBus);
         endpoint.getFeatures().add(logFeature);

         return endpoint;
     }
}


org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> Bean[ref:cxf:bean:hostCxfEndpointInformation] <<< in route: Route(route1)[From[direct://get-card-details] -> [Bean[com.p... because of No bean could be found in the registry for: cxf:bean:hostCxfEndpointInformation
	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:240)
	at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74)
	at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:851)
	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:741)
	at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2773)
	at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
	at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2491)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2510)
	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:246)
	at org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:119)
	at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:151)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:338)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332)
	at com.pf.product.card.CardApplication.main(CardApplication.java:21)
Caused by: org.apache.camel.NoSuchBeanException: No bean could be found in the registry for: cxf:bean:hostCxfEndpointInformation
	at org.apache.camel.component.bean.RegistryBean.doGetBean(RegistryBean.java:134)
	at org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java:102)
	at org.apache.camel.component.bean.RegistryBean.createCacheHolder(RegistryBean.java:95)
	at org.apache.camel.component.bean.DefaultBeanProcessorFactory.createBeanProcessor(DefaultBeanProcessorFactory.java:79)
	at org.apache.camel.reifier.BeanReifier.createProcessor(BeanReifier.java:48)
	at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:838)
	at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:579)
	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:236)
	... 26 common frames omitted

2021-12-25 21:03:22.263 DEBUG 60866 --- [           main] o.s.b.a.ApplicationAvailabilityBean      : Application availability state ReadinessState changed to REFUSING_TRAFFIC
2021-12-25 21:03:22.263 DEBUG 60866 --- [           main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5652f555, started on Sat Dec 25 21:03:16 MSK 2021
2021-12-25 21:03:22.273  INFO 60866 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2021-12-25 21:03:22.274  INFO 60866 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-12-25 21:03:22.637  INFO 60866 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Process finished with exit code 1

-- 
Vyacheslav Boyko
mailto:mail4bvn@gmail.com

Re: CXF endpoint is not registered into Spring registry?

Posted by Vyacheslav Boyko <ma...@gmail.com>.
Oh...

I've solved it. But... how could I call CXF

.bean("cxf:bean:hostCxfEndpointInformation")

instead of

.to("cxf:bean:hostCxfEndpointInformation")

??? It was my fault. Sorry for disturbing you.

On 12/25/21 21:11, Vyacheslav Boyko wrote:
>
> Hi!
>
> I have one CxfEnpoint configured by method hostCxfEndpointService. It 
> actually is found as I send to it from route:
>
> .to("cxf:bean:hostCxfEndpointService")
>
> But the second one called hostCxfEndpointInformation could not be found.
>
> I use Camel 3.11 and have tried with 3.13. Code is following, the 
> exception is placed below.
>
> What do I do wrong?
>
> @Configuration public class HostCxfEndpointConfiguration {
>
>      @Bean public CxfEndpoint hostCxfEndpointService(CamelContext camelContext,
>                                                SpringBus springBus,
>                                                @Value("${app.host.card-service.wsdl-location}") String wsdlLocation,
>                                                @Value("${app.host.card-service.endpoint}") String endpointUrl) {
>          return createHostEndpoint(camelContext, springBus,"hostCxfEndpointService", wsdlLocation, endpointUrl, CardService.class);
>      }
>
>      @Bean public CxfEndpoint hostCxfEndpointInformation(CamelContext camelContext,
>                                                    SpringBus springBus,
>                                                    @Value("${app.host.card-information.wsdl-location}") String wsdlLocation,
>                                                    @Value("${app.host.card-information.endpoint}") String endpointUrl) {
>          return createHostEndpoint(camelContext, springBus,"hostCxfEndpointInformation", wsdlLocation, endpointUrl, CardInformation.class);
>      }
>
>      // 
> https://blog.codecentric.de/en/2016/07/spring-boot-apache-cxf-logging-monitoring-logback-elasticsearch-logstash-kibana/ 
> @Bean(name = Bus.DEFAULT_BUS_ID)
>      public SpringBus springBus() {
>          SpringBus springBus =new SpringBus();
>          LoggingFeature logFeature =new LoggingFeature();
>          logFeature.setPrettyLogging(true);
>          logFeature.initialize(springBus);
>          springBus.getFeatures().add(logFeature);
>          return springBus;
>      }
>
>      private CxfEndpoint createHostEndpoint(CamelContext camelContext,
>                                             SpringBus springBus,
>                                             String beanId,
>                                             String wsdlLocation,
>                                             String endpointUrl,
>                                             Class<?> tClass) {
>          CxfEndpoint endpoint =new CxfEndpoint();
>          endpoint.setBeanId(beanId);
>          endpoint.setAddress(endpointUrl);
>          endpoint.setCamelContext(camelContext);
>          endpoint.setDataFormat(DataFormat.POJO);
>          endpoint.setServiceClass(tClass);
>          endpoint.setWsdlURL(wsdlLocation);
>          endpoint.setSynchronous(true);
>          endpoint.setLoggingFeatureEnabled(true);
>
>          LoggingFeature logFeature =new LoggingFeature();
>          logFeature.setPrettyLogging(true);
>          logFeature.initialize(springBus);
>          endpoint.getFeatures().add(logFeature);
>
>          return endpoint;
>      }
> }
>
>
> org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> Bean[ref:cxf:bean:hostCxfEndpointInformation] <<< in route: Route(route1)[From[direct://get-card-details] -> [Bean[com.p... because of No bean could be found in the registry for: cxf:bean:hostCxfEndpointInformation
> 	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:240)
> 	at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74)
> 	at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
> 	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:851)
> 	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:741)
> 	at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2773)
> 	at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
> 	at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2491)
> 	at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
> 	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2510)
> 	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:246)
> 	at org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:119)
> 	at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:151)
> 	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
> 	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
> 	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
> 	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
> 	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
> 	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
> 	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
> 	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
> 	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
> 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:338)
> 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
> 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332)
> 	at com.pf.product.card.CardApplication.main(CardApplication.java:21)
> Caused by: org.apache.camel.NoSuchBeanException: No bean could be found in the registry for: cxf:bean:hostCxfEndpointInformation
> 	at org.apache.camel.component.bean.RegistryBean.doGetBean(RegistryBean.java:134)
> 	at org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java:102)
> 	at org.apache.camel.component.bean.RegistryBean.createCacheHolder(RegistryBean.java:95)
> 	at org.apache.camel.component.bean.DefaultBeanProcessorFactory.createBeanProcessor(DefaultBeanProcessorFactory.java:79)
> 	at org.apache.camel.reifier.BeanReifier.createProcessor(BeanReifier.java:48)
> 	at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:838)
> 	at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:579)
> 	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:236)
> 	... 26 common frames omitted
>
> 2021-12-25 21:03:22.263 DEBUG 60866 --- [           main] o.s.b.a.ApplicationAvailabilityBean      : Application availability state ReadinessState changed to REFUSING_TRAFFIC
> 2021-12-25 21:03:22.263 DEBUG 60866 --- [           main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5652f555, started on Sat Dec 25 21:03:16 MSK 2021
> 2021-12-25 21:03:22.273  INFO 60866 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
> 2021-12-25 21:03:22.274  INFO 60866 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
> 2021-12-25 21:03:22.637  INFO 60866 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
>
> Process finished with exit code 1
>
> -- 
> Vyacheslav Boyko
> mailto:mail4bvn@gmail.com

-- 
Vyacheslav Boyko
mailto:mail4bvn@gmail.com