在尝试下载wsdl时,我使用Spring使用定义的这里步骤创建了一个webservice,我必须在url中使用.wsdl。然而,当我使用?wsdl时,wsdl不会被下载。当我在url中使用?wsdl时,如何重写url以下载wsdl?
发布于 2017-08-31 07:07:39
我使用这个过滤器可以使用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);
}
}
}您需要将其注册为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>https://stackoverflow.com/questions/45971704
复制相似问题