У меня есть проект Spring Boot, который поддерживает конечные точки SOAP и REST.Теперь у меня есть бизнес-требование, чтобы к ним обращались в одном и том же контексте URI:
Конечные точки SOAP: app-context / wsdl-location
Конечные точки REST: app-context / rest-uri
Все, что я до сих пор пробовал, привело к ошибке «405 Метод не разрешен».Также есть желание сделать это с помощью аннотаций как можно больше.
Буду признателен за любую помощь
РЕДАКТИРОВАТЬ 1:
Вот конфигурация SOAP для генерации WSDL (URI - это URI SOAP, где выставлен wsdl):
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext context) {
MessageDispatcherServlet messageDispatcherServlet = new MessageDispatcherServlet();
messageDispatcherServlet.setApplicationContext(context);
messageDispatcherServlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(messageDispatcherServlet, URI + "/*");
}
@Bean
public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema awadSchema) {
DefaultWsdl11Definition definition = new DefaultWsdl11Definition();
definition.setPortTypeName(); //cannot state port type name
definition.setTargetNamespace(); //cannot state namespace
definition.setLocationUri(URI);
definition.setSchema(awadSchema);
return definition;
}
@Bean
public XsdSchema awadSchema() {
return new SimpleXsdSchema(new ClassPathResource("/WEB-INF/xsd-file-name"));
}
Бизнес хочет сохранить URI таким же и добавить конечные точки REST отit: URI / report /.....
Я попытался:
1) сделать мыло uri контекстным путем сервлета в application.properties
2) явнодавая полный URI в отображении REST
3) пытаясь @Order, чтобы он сначала оценил конечную точку REST
4) устанавливая порядок в web.xml
какПока они имеют одинаковый контекст, приложение пытается отправить запрос REST через wsdl, и я получаю ошибку 405