RequestWrapper对象必须扩展ServletRequestWrapper或HttpServletRequestWrapper

时间:2013-03-01 13:08:01

标签: java websphere runtime-error

我正在使用从“EAR A”到“EAR B”的编码形式。

当我尝试处理请求时:

    accion = "/decimprenta";
    pagina = "/procesardeclaracion.do";
    this.getServlet().getServletContext().getContext(accion).getRequestDispatcher(pagina).forward(request, response);

“EAR A”引发以下异常:

    java.lang.RuntimeException: SRV.8.2: RequestWrapper objects must extend ServletRequestWrapper or HttpServletRequestWrapper
    at com.ibm.wsspi.webcontainer.util.ServletUtil.unwrapRequest(ServletUtil.java:91)
    at com.ibm.wsspi.webcontainer.util.ServletUtil.unwrapRequest(ServletUtil.java:63)
    at com.ibm.wsspi.webcontainer.util.ServletUtil.unwrapRequest(ServletUtil.java:58)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1127)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:191)

浏览,我发现此链接有相同的错误,但补丁是WAS的第6版。我使用的是WAS 8: http://www-01.ibm.com/support/docview.wss?uid=swg1PM10357

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您使用的是什么版本的Struts?如果您使用的是1.2.7或更高版本,则会看到此错误 我使用时遇到了这个问题

<form enctype="multipart/form-data">

这是因为当您使用MultipartRequestWrapper时。在版本1.2。*中MultipartRequestWrapper扩展了java.lang.Object

在1.3。*中,MultiPartRequestWrapper扩展了HttpServletRequestWrapper

我在WAS 8.5中发现了同样的问题,但更新struts解决了这个问题。

希望这有帮助