将Web服务请求重定向到另一个地址

时间:2013-01-09 14:43:14

标签: web-services spring

Spring WS处理spring-ws-servlet.xml上下文中的所有请求:

    <servlet-mapping>
        <servlet-name>spring-ws</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

有没有办法创建一个策略,将特定请求重定向到我想要的地址?例如,当某人请求地址localhost:8080/MyProject/someofrequest.asmx时,我的web.xml会将此请求重定向到localhost:8080/MyProject/HandleMessage ??

1 个答案:

答案 0 :(得分:0)

解决方案是创建一个非常简单的servlet,将具有模式*.asmx的请求重定向到您的/HandleMessage操作:

<servlet>
    <servlet-name>redirect</servlet-name>
    <servlet-class>com.x.RedirectServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>redirect</servlet-name>
    <url-pattern>*.asmx</url-pattern>
</servlet-mapping>

Servlet代码:

public class RedirectServlet extends HttpServlet{
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
              response.sendRedirect("http://localhost:8080/MyProject/HandleMessage");
        }
}