在Spring Boot应用程序中配置了两个不同的SOAP Web服务端点

新建一个CustomMessageDispatcherServlet类,以扩展以下MessageDispatcherServlet类,

java 复制代码
import org.springframework.ws.transport.http.MessageDispatcherServlet;

import javax.servlet.http.HttpServletRequest;

public class CustomMessageDispatcherServlet extends MessageDispatcherServlet {

    @Override
    protected String transformWsdlLocation(HttpServletRequest request, String wsdlLocation) {
        String requestUri = request.getRequestURI();

        if (requestUri.contains("/WebservicesConnector/services/countries")) {
            return "countries.wsdl";
        } else if (requestUri.contains("/FinancingService/FinancingUpdate.asmx")) {
            return "kinsai.wsdl";
        }

        return super.transformWsdlLocation(request, wsdlLocation);
    }
}

そして、messageDispatcherServletメソッド内で、新しいカスタムのMessageDispatcherServletを設定します。

java 复制代码
@Bean
public ServletRegistrationBean<CustomMessageDispatcherServlet> messageDispatcherServlet() {
    CustomMessageDispatcherServlet servlet = new CustomMessageDispatcherServlet();
    servlet.setApplicationContext(applicationContext);
    servlet.setTransformWsdlLocations(true);
    return new ServletRegistrationBean<>(servlet, "/ws/*");
}
相关推荐
北方有星辰zz10 分钟前
数据结构:栈
java·开发语言·数据结构
Seven9711 分钟前
一个static关键字引发的线上故障:深度剖析静态变量与配置热更新的陷阱
java
山野万里__13 分钟前
C++与Java内存共享技术:跨平台与跨语言实现指南
android·java·c++·笔记
风象南15 分钟前
Spring Shell命令行工具开发实战
java·spring boot·后端
Java技术小馆19 分钟前
POST为什么发送两次请求
java·面试·架构
天天摸鱼的java工程师20 分钟前
MySQL表设计实战指南:从业务场景到表结构优化
java·后端·mysql
SimonKing23 分钟前
Java处理PDF就靠它!Apache PDFBox:开源免费的PDF全能王
java·后端·程序员
天天摸鱼的java工程师26 分钟前
Java与AI:从业务场景到代码实现,构建人工客服系统实战
java·后端·面试
都叫我大帅哥28 分钟前
Redis中zset内存变形记
java·redis
slowlybutsurely35 分钟前
Cursor快速入门
java·ai编程·cursor