Vaadin 7 Easyuploads an Internet Explorer 11 Problem

Hello,

when I try to upload a file in IE11 get an erorr, this only happens in ie me in Chrome, Safari and Firefox works fine.

dic 31, 2014 2:22:06 PM com.vaadin.server.DefaultErrorHandler doDefault
GRAVE:
java.lang.NullPointerException
at com.vaadin.server.communication.FileUploadHandler.handleRequest(FileUploadHandler.java:269)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

dic 31, 2014 2:22:06 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: El Servlet.service() para el servlet [com.inicio.exp.ExpsUI$Servlet]
en el contexto con ruta
[/Gestion] lanzó la excepción [com.vaadin.server.ServiceException: java.lang.NullPointerException]
con causa raíz
java.lang.NullPointerException
at com.vaadin.server.communication.FileUploadHandler.handleRequest(FileUploadHandler.java:269)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

My code is:

    MultiFileUpload multiFileUpload = new MultiFileUpload() {
        @Override
        protected void handleFile(File file, String fileName,
                String mimeType, long length) {
            String msg = fileName + " uploaded. Saved to file "
                    + file.getAbsolutePath()  + " (size " + length
                    + " bytes)  :"+mimeType;
            
            System.out.println(msg);
            
                                                                              
        }

        @Override
        protected FileBuffer createReceiver() {
            FileBuffer receiver = super.createReceiver();
            /*
             * Make receiver not to delete files after they have been
             * handled by #handleFile().
             */
            
            receiver.setDeleteFiles(false);
            return receiver;
        }
    };
    
    multiFileUpload.setUploadButtonCaption("Fichero/s");
    multiFileUpload.setImmediate(true);       
    Subidadeficheros.addComponent(multiFileUpload);
    Subidadeficheros.setComponentAlignment(multiFileUpload, Alignment.MIDDLE_CENTER);
    multiFileUpload.setRootDirectory(sPath );

In various configurations
java 8
tomcat 8.0.14 - 8.0.9
Vaadin 7.3.7 - 7.3.3 - 7.3.4

Hi,

Have you tried if the (simple single) Upload component from the Vaadin core works? The NPE raises from a place in Vaadin core is not depenent to the MultiUpload component from EasyUploads. I tried with IE + jetty and it works. I don’t currently have tomcat 8 on my development machine. If normal Upload works, I can look chec this out in Tomcat 8.

cheers,
matti

Thanks for the reply. I’ve fixed the problem. The problem was in my web.xml had a very low value heartBeatInterval

thx

With these values work well

org.atmosphere.cpr.SessionSupport org.atmosphere.cpr.sessionSupport true heartBeatInterval 300 disable-XSRF-protection true 30 closeIdleSessions true