Pun*_*cky 2 spring web-services spring-boot
我使用 Spring Boot 使用此处定义的步骤创建了一个 webservice当我尝试下载 wsdl 时,我必须在 url 中使用 .wsdl 。但是,当我使用 ?wsdl 时,没有下载 wsdl。当我在 url 中使用 ?wsdl 时,如何重写 url 以下载 wsdl?
我使用这个过滤器能够访问带有 Spring 样式的 wsdl.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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要将其注册为已命名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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |