IOException ZIP entry size is too large when downloading excel file

2012-08-25 Thread sdia1400
Using eclipse/tomcat, I have a single page wicket app with a single link for
downloading an excel sheet (*.xlsm, around 6MB) and it works, great. 
However, when I plug the same piece of code in my main web application
(wicket + spring + hibernate + mysql), it throws 
java.io.IOException: ZIP entry size is too large. I am not able to figure
out the problem. I suspect it has something to do with springframe that I
use in my main web app. 

Here is the exception 

java.io.IOException: ZIP entry size is too large 
at
org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource$FakeZipEntry.init(ZipInputStreamZipEntrySource.java:117)
 
at
org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource.init(ZipInputStreamZipEntrySource.java:55)
 
at
org.apache.poi.openxml4j.opc.ZipPackage.init(ZipPackage.java:83) 
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:228) 
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39) 
at
org.apache.poi.xssf.usermodel.XSSFWorkbook.init(XSSFWorkbook.java:187) 
at
com.fhlabs.app.DownloadGeneratedExcelPage1$1$1.getData(DownloadGeneratedExcelPage1.java:39)
 
at
org.apache.wicket.request.resource.ByteArrayResource.newResourceResponse(ByteArrayResource.java:101)
 
at
org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:477)
 
at
org.apache.wicket.request.handler.resource.ResourceRequestHandler.respond(ResourceRequestHandler.java:77)
 
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:712)
 
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
 
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:96)
 
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:208)
 
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:251)
 
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
 
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218) 
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
 
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
 
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
 
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
 
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) 
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
 
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
 
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
 
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
 
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 


Here is the code... 
public class DownloadGeneratedExcelPage1 extends WebPage { 
private static final long serialVersionUID = 1L; 
public DownloadGeneratedExcelPage1() { 
add(new LinkVoid(download) { 
private static final long serialVersionUID = 1L; 

@Override 
public void onClick() { 
final IResource resource = new
ByteArrayResource( 
application/vnd.ms-excel)
{ 
private static final long
serialVersionUID = 1L; 

@Override 
protected byte[] getData(Attributes
attributes) { 

Re: IOException ZIP entry size is too large when downloading excel file

2012-08-25 Thread sdia1400
Thank Francois, 
As mentioned earlier, exactly same piece of code when run on its own works.
However, it throws IOException when I plug the same in my wicket application
with spring/hibernate/mysql.  

The only difference between two setups is spring/hibernate and the following
two lines from exception description mention spring

at 
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
 
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)


thanks.



--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/IOException-ZIP-entry-size-is-too-large-when-downloading-excel-file-tp4651492p4651495.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



IOException ZIP entry size is too large when downloading excel file

2012-08-25 Thread sdia1400
Using eclipse/tomcat, I have a single page wicket app with a single link for
downloading an excel sheet (*.xlsm, around 6MB) and it works, great. 
However, when I plug the same piece of code in my main web application
(wicket + spring + hibernate + mysql), it throws 
java.io.IOException: ZIP entry size is too large. I am not able to figure
out the problem. I suspect it has something to do with springframe that I
use in my main web app. 

Here is the exception

java.io.IOException: ZIP entry size is too large
at
org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource$FakeZipEntry.init(ZipInputStreamZipEntrySource.java:117)
at
org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource.init(ZipInputStreamZipEntrySource.java:55)
at org.apache.poi.openxml4j.opc.ZipPackage.init(ZipPackage.java:83)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:228)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39)
at 
org.apache.poi.xssf.usermodel.XSSFWorkbook.init(XSSFWorkbook.java:187)
at
com.fhlabs.app.DownloadGeneratedExcelPage1$1$1.getData(DownloadGeneratedExcelPage1.java:39)
at
org.apache.wicket.request.resource.ByteArrayResource.newResourceResponse(ByteArrayResource.java:101)
at
org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:477)
at
org.apache.wicket.request.handler.resource.ResourceRequestHandler.respond(ResourceRequestHandler.java:77)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:712)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:96)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:208)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:251)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)


Here is the code...
public class DownloadGeneratedExcelPage1 extends WebPage {
private static final long serialVersionUID = 1L;
public DownloadGeneratedExcelPage1() {
add(new LinkVoid(download) {
private static final long serialVersionUID = 1L;

@Override
public void onClick() {
final IResource resource = new 
ByteArrayResource(
application/vnd.ms-excel) {
private static final long 
serialVersionUID = 1L;

@Override
protected byte[] getData(Attributes 
attributes) {
InputStream in = 
DownloadGeneratedExcelPage1.class