Spring Boot 2.5.5, CXF 3.4.5,致动器-缺少致动器端点



我使用Spring Boot 2.5.5和CXF WS 3.4.5来创建一个微服务,它将在云上。其中一个要求是要有一个执行器。监控服务将定期检查微服务是否可用。

我有以下代码来发布端点
@Bean
public EndpointImpl endpoint() {
EndpointImpl endpoint = new EndpointImpl(bus, serviceName);
endpoint.getInInterceptors().add(wSS4JInInterceptor());
endpoint.getInInterceptors().add(loggingInInterceptor);
endpoint.getOutInterceptors().add(loggingOutInterceptor);
endpoint.setBindingUri(SOAP12HTTP_BINDING);
endpoint.publish("/servicename-service");
return endpoint;
}

WSDL是accessable通过localhost: 8082/服务/servicename-service吗?wsdl

然而,localhost:8082/actuator返回Whitelabel Error Page (404 Not Found)。我从这个网站和其他网站上尝试了很多解决方案,但都不起作用。

我添加了以下代码,但没有帮助

@Bean
public ServletRegistrationBean cxfServlet() {
return new ServletRegistrationBean(new CXFServlet(), "/service/*");
}

我也尝试覆盖dispatcherServlet,但它也没有帮助。

@Bean
public DispatcherServlet dispatcherServlet() {
return new DispatcherServlet();
}
@Bean
public ServletRegistrationBean dispatcherServletRegistrationBean() {
ServletRegistrationBean dispatcherServlet = new ServletRegistrationBean(dispatcherServlet(), "/*");
dispatcherServlet.setOrder(2);
dispatcherServlet.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME);
return dispatcherServlet;
}

我不知道到底是什么在这个过程中失败了,但它现在没有任何问题。这些步骤有帮助:

  1. 从依赖项中删除spring-boot-start -actuator
  2. mvn clean install
  3. 重建项目
  4. 再次添加spring-boot-start -actuator到dependencies
  5. mvn clean install
  6. 启动项目,看到驱动器和wsdl都工作

我甚至删除了cxfServlet并设置了cxf。应用中的路径=/service。与当前功能保持一致

最新更新