2 Replies Latest reply on Sep 22, 2010 8:54 AM by carvo

    FileUpload and IE

    carvo

      Hi all.
      I have a project running on Tomcat 6.0.29 with Seam 2.0.2GA, Mojarra 1.2_12 (with Facelets), Richfaces 3.3.1GA and Primefaces

       

      Using Firefox or Chrome everything works fine. But when im try to upload from IE friend browser, the component shows "Transfer error occured..."  or something like that, and no exception is thrown.

       

      Seeing the tomcat log I found only a odd warning for every uploaded with problem: "WARNING: JSF1053: (Listener: org.primefaces.application.DynamicContentStreamer.beforePhase(), Phase ID: RESTORE_VIEW 1,  View ID: ) Exception thrown during phase-listener execu$", but we didnt configure any uplpoad filter to primefaces.

       

      Here all relevant trace:

       

      Sep 21, 2010 8:01:58 PM com.sun.faces.lifecycle.Phase handleBeforePhase
      WARNING: JSF1053: (Listener: org.primefaces.application.DynamicContentStreamer.beforePhase(), Phase ID: RESTORE_VIEW 1,  View ID: ) Exception thrown during phase-listener execu$
      Sep 21, 2010 8:01:58 PM com.sun.faces.lifecycle.Phase handleBeforePhase
      WARNING: java.lang.System.arraycopy(Native Method)
      org.ajax4jsf.request.MultipartRequest.fillBuffer(MultipartRequest.java:396)
      org.ajax4jsf.request.MultipartRequest.initialize(MultipartRequest.java:600)
      org.ajax4jsf.request.MultipartRequest.getParam(MultipartRequest.java:804)
      org.ajax4jsf.request.MultipartRequest.getParameter(MultipartRequest.java:870)
      javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:158)
      com.sun.faces.context.RequestParameterMap.containsKey(ExternalContextImpl.java:1173)
      java.util.Collections$UnmodifiableMap.containsKey(Collections.java:1280)
      org.primefaces.application.DynamicContentStreamer.beforePhase(DynamicContentStreamer.java:55)
      com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
      com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
      com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103)
      com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
      org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
      org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
      org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:347)
      org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
      org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      org.jstripe.tomcat.probe.Tomcat55AgentValve.invoke(Tomcat55AgentValve.java:20)
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
      org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
      org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      java.lang.Thread.run(Thread.java:619)
      

       

      Web.xml:

       

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          version="2.5">
          
          <listener>
              <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
          </listener>
          
          <filter>
              <filter-name>Seam Filter</filter-name>
              <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
          </filter>
          <filter-mapping>
              <filter-name>Seam Filter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
          
          <servlet>
              <servlet-name>Seam Resource Servlet</servlet-name>
              <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
          </servlet>
          <servlet-mapping>
              <servlet-name>Seam Resource Servlet</servlet-name>
              <url-pattern>/seam/resource/*</url-pattern>
          </servlet-mapping>
          
          <servlet>
              <servlet-name>Faces Servlet</servlet-name>
              <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
              <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet-mapping>
              <servlet-name>Faces Servlet</servlet-name>
              <url-pattern>*.seam</url-pattern>
          </servlet-mapping>
          
          <servlet>
              <servlet-name>Resource Servlet</servlet-name>
              <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
          </servlet>
          <servlet-mapping>
              <servlet-name>Resource Servlet</servlet-name>
              <url-pattern>/primefaces_resource/*</url-pattern>
          </servlet-mapping>
          
          <context-param>
              <param-name>org.richfaces.SKIN</param-name>
              <param-value>emeraldTown</param-value>
          </context-param>
          <context-param>
              <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
              <param-value>.xhtml</param-value>
          </context-param>
          <context-param>
              <param-name>facelets.DEVELOPMENT</param-name>
              <param-value>true</param-value>
          </context-param>
          <context-param>
              <param-name>facelets.SKIP_COMMENTS</param-name>
              <param-value>true</param-value>
          </context-param>
          <!--<context-param>  
              <param-name>primefaces.skin</param-name>  
              <param-value>none</param-value>  
          </context-param>--> 
          
          <session-config>
              <session-timeout>10</session-timeout>
          </session-config>
      </web-app>
      

       

       

      BTW with small files it works, sometimes.

       

      Thx a lot again,

      CARVO.

        • 1. Re: FileUpload and IE
          panky_p

          Do you have multipart-filter in your components xml?

          try

          <web:multipart-filter create-temp-files="true" max-request-size="1000000" url-pattern="/*"/>

          • 2. Re: FileUpload and IE
            carvo

            Thx for the answer panky_p.

             

            Sorry, I forgot the components.xml, but im using this tag already. Btw, im using the enctype form attribute too.

             

            Carvo.