在与Web API不同的端口上配置Spring Boot SOAP Web服务

时间:2019-07-03 13:55:06

标签: java spring spring-boot spring-ws

我在主应用程序上下文中在端口8080路径/上运行的Jetty容器。当前状态是在子路径/ ws上但在同一端口上配置soap服务。

@EnableWs
@Configuration
public class SoapConfiguration extends WsConfigurationSupport {

    @Bean
    public ServletRegistrationBean<MessageDispatcherServlet> messageDispatcherServlet(ApplicationContext applicationContext) {
        MessageDispatcherServlet servlet = new MessageDispatcherServlet();
        servlet.setApplicationContext(applicationContext);
        servlet.setTransformWsdlLocations(true);
        return new ServletRegistrationBean<>(servlet, "/ws/*");
    }
}

我想要的是在8080端口上运行的其余Web api的功能,但是所有@Endpoint类都位于另一个端口,例如8003。

我知道一种可能的解决方案是创建不同的模块,并将它们与应用程序上下文层次结构https://www.baeldung.com/spring-boot-context-hierarchy打包在一起。

但是,由于我真正想要的只是让1个@Endpoint注释的Bean驻留在单独的上下文中,因此我想找到一个无需将它们拆分为不同模块的解决方案。我认为这个想法是创建一个包含JettyServletWebServerFactory工厂和端点的子应用程序上下文,但是我似乎无法从技术上实现它。

0 个答案:

没有答案