Веб-сервис Spring Boot SOAP с MVC
Я хотел бы объединить два приложения Spring (spring-boot) из Spring guides:
к сожалению, эти примеры не работают вместе. Существует проблема с диспетчером сервлетов. После добавления dispatcherServlet сервлет bean - MVC не работает (ошибка 404).
@Bean
public ServletRegistrationBean dispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/ws/*");
}
как настроить диспетчер сервлетов для правильной работы?
Я хотел бы иметь:
-
localhost:8080/ws/*- webservice -
localhost:8080/web/*- компоненты MVC
спасибо заранее!
1 ответов
проблема заключается в регистрации MessageDispatcherServlet из-за имени dispatcherServlet Он переопределяет зарегистрированную Spring Boot DispatcherServlet. Последнее необходимо для части MVC вашего веб-сайта.
чтобы исправить это, просто переименуйте свой метод во что угодно, кроме dispatcherServlet сказать messageDispatcherServlet.
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/ws/*");
}