MultipartRequestWrapper

MultipartRequestWrapper

我正在使用从“ 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

任何想法?

最佳答案

您正在使用哪个版本的Struts?如果您使用的是1.2.7或更高版本,则将看到此错误。
我在使用时遇到了这个问题

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


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

在1.3。*中,MultiPartRequestWrapper扩展了HttpServletRequestWrapper

我在WAS 8.5中发现了相同的问题,但是更新支撑架解决了该问题。

希望这可以帮助

10-01 18:07