Веб-сервис 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/*");
}