在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/*");
}
相关推荐
豆沙沙包?几秒前
2025年--Lc313-662. 二叉树最大宽度--java版
java·开发语言
CoderYanger2 分钟前
C.滑动窗口——2762. 不间断子数组
java·开发语言·数据结构·算法·leetcode·1024程序员节
BBB努力学习程序设计6 分钟前
Java接口:定义行为的"契约"
java
2401_837088507 分钟前
Integer.MIN_VALUE 是什么意思?
java·开发语言·算法
+VX:Fegn089514 分钟前
计算机毕业设计|基于springboot + vue在线考试管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
okseekw20 分钟前
Java泛型从入门到实战:原理、用法与案例深度解析
java·后端
雨中飘荡的记忆21 分钟前
Spring WebFlux详解
java·后端·spring
若水不如远方21 分钟前
告别 RestHighLevelClient:Elasticsearch Java 新客户端实战与源码浅析
java·elasticsearch
萝卜青今天也要开心25 分钟前
2025年下半年系统架构设计师考后分享
java·数据库·redis·笔记·学习·系统架构
Unstoppable2225 分钟前
八股训练营第 39 天 | Bean 的作用域?Bean 的生命周期?Spring 循环依赖是怎么解决的?Spring 中用到了那些设计模式?
java·spring·设计模式