Uploaded image for project: 'Struts 1'
  1. Struts 1
  2. STR-2915

FileUpload of corrupt XML file results in Connection Reset / ActionServlet

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.0
    • None
    • Example Applications
    • None
    • Windows 2000 Professional, JBoss 3.0.6, Java 1.4.2, Struts 1.1

    Description

      I am having a problem with an application that uploads an XML file. The problem occurs when an attempt is made to upload a corrupt XML file. It appears that BSIMSActionServlet (a subclass of ActionServlet) catches the error but my Global Exception Handler that I have defined never gets called.

      The browser displays the message 'The page cannot be displayed - The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings.' Ideally, I would like my general exception handler to catch this error and display a more meaningful error, but it looks like my general exception handler is never called.

      Am I right in thinking my general exception handler should be able to catch this error?

      Regards,
      Graeme

      08:50:31,816 ERROR [CommonsMultipartRequestHandler] Failed to parse multipart request
      org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Connection reset
      at org.apache.commons.fileupload.FileUpload.parseRequest(FileUpload.java:519)
      at org.apache.commons.fileupload.FileUpload.parseRequest(FileUpload.java:355)
      at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:233)
      at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1055)
      at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
      at com.unitas.bs.presentation.control.BSIMSActionServlet.doGet(BSIMSActionServlet.java:82)
      at com.unitas.bs.presentation.control.BSIMSActionServlet.doPost(BSIMSActionServlet.java:103)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360)
      at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:328)
      at com.unitas.bs.presentation.filter.CleanupSessionFilter.doFilter(CleanupSessionFilter.java:141)
      at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:320)
      at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:272)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:553)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1717)
      at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:549)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1667)
      at org.mortbay.http.HttpServer.service(HttpServer.java:862)
      at org.jboss.jetty.Jetty.service(Jetty.java:497)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:759)
      at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:923)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:776)
      at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
      at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
      08:50:31,831 INFO [STDOUT] ServletException:
      Processing of multipart/form-data request failed. Connection reset
      08:50:31,831 ERROR [STDERR] javax.servlet.ServletException: Processing of multipart/form-data request failed. Connection reset
      08:50:31,831 ERROR [STDERR] at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:244)
      08:50:31,831 ERROR [STDERR] at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1055)
      08:50:31,831 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
      08:50:31,831 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
      08:50:31,831 ERROR [STDERR] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
      08:50:31,831 ERROR [STDERR] at com.unitas.bs.presentation.control.BSIMSActionServlet.doGet(BSIMSActionServlet.java:82)
      08:50:31,831 ERROR [STDERR] at com.unitas.bs.presentation.control.BSIMSActionServlet.doPost(BSIMSActionServlet.java:103)
      08:50:31,831 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      08:50:31,831 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      08:50:31,831 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360)
      08:50:31,831 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:328)
      08:50:31,831 ERROR [STDERR] at com.unitas.bs.presentation.filter.CleanupSessionFilter.doFilter(CleanupSessionFilter.java:141)
      08:50:31,831 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:320)
      08:50:31,831 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:272)
      08:50:31,831 ERROR [STDERR] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:553)
      08:50:31,831 ERROR [STDERR] at org.mortbay.http.HttpContext.handle(HttpContext.java:1717)
      08:50:31,847 ERROR [STDERR] at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:549)
      08:50:31,847 ERROR [STDERR] at org.mortbay.http.HttpContext.handle(HttpContext.java:1667)
      08:50:31,847 ERROR [STDERR] at org.mortbay.http.HttpServer.service(HttpServer.java:862)
      08:50:31,847 ERROR [STDERR] at org.jboss.jetty.Jetty.service(Jetty.java:497)
      08:50:31,847 ERROR [STDERR] at org.mortbay.http.HttpConnection.service(HttpConnection.java:759)
      08:50:31,847 ERROR [STDERR] at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:923)
      08:50:31,847 ERROR [STDERR] at org.mortbay.http.HttpConnection.handle(HttpConnection.java:776)
      08:50:31,847 ERROR [STDERR] at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202)
      08:50:31,847 ERROR [STDERR] at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
      08:50:31,847 ERROR [STDERR] at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)

      Attachments

        Activity

          People

            Unassigned Unassigned
            mrdry Graeme D
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: