Spring Boot: Apache CXF SOAP с @RestController для отдыха - PullRequest
0 голосов
/ 29 мая 2018

Я работаю SOAP и REST вместе в одном приложении.Веб-сервис отдыха с @RestController и SOAP с Apache CXF.Rest ws и soap имеют один и тот же путь, например: Rest: GET http://localhost:8080/ws/person SOAP: http://localhost:8080/ws/findPerson

Для настройки сервлета cxf я создаю следующий метод

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

Служба SOAP работает нормально после изменения, но REST (@RestController) перестает работать, но если я отключу метод cxfServletRegistration (), остальные WS работают нормально.

Не могли бы вы предложить какое-нибудь решение, чтобы всеWS работает вместе?

1 Ответ

0 голосов
/ 30 мая 2018

Вы не можете, потому что каждый сервлет должен "владеть" своим базовым путем прослушивания.Несмотря на отсутствие явной регистрации, RestController прослушивает базовый путь (по умолчанию / *). Вам действительно нужно использовать @RestController?CXF имеет поддержку REST через JAX-RS.

В противном случае, я бы предложил разделить ваши функции REST и SOAP, такие как REST на / model / ... и SOAP на / api / ... или некоторые другие.такое разделение.

...