Spring引导-使用?WSDL下载WSDL
我使用SpringBoot创建了一个Web服务,使用了在我尝试下载wsdl时定义的步骤,我必须在url中使用.wsdl。但是,当我使用?wsdl时,wsdl不会被下载。当我在url中使用?wsdl时,如何重写url以下载wsdl?我使用此筛选器能够访问Spring样式的wsdlSpring引导-使用?WSDL下载WSDL,spring,web-services,spring-boot,Spring,Web Services,Spring Boot,我使用SpringBoot创建了一个Web服务,使用了在我尝试下载wsdl时定义的步骤,我必须在url中使用.wsdl。但是,当我使用?wsdl时,wsdl不会被下载。当我在url中使用?wsdl时,如何重写url以下载wsdl?我使用此筛选器能够访问Spring样式的wsdl.wsdl以及?wsdl: public class WsdRequestCompatibilityFilter extends OncePerRequestFilter { @Override prot
.wsdl
以及?wsdl
:
public class WsdRequestCompatibilityFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
if ("GET".equals(request.getMethod()) && "wsdl".equalsIgnoreCase(request.getQueryString())) {
request.getSession().getServletContext().getRequestDispatcher(request.getRequestURI() + ".wsdl").forward(request, response);
} else {
filterChain.doFilter(request, response);
}
}
}
您需要将其注册为名为wsdlRequestCompatibilityFilter
,并将以下配置添加到web.xml
:
<filter>
<filter-name>wsdlRequestCompatibilityFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>wsdlRequestCompatibilityFilter</filter-name>
<url-pattern>/ws/*</url-pattern>
</filter-mapping>
wsdlRequestCompatibilityFilter
org.springframework.web.filter.DelegatingFilterProxy
wsdlRequestCompatibilityFilter
/ws/*
谢谢!有没有办法在Spring中使用注释实现这一点?没有,恐怕无法配置。您可以用Java编写代码: