Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java,获取:Java.net.SocketException:输出excel文件时管道破裂_Java_Sockets_Exception_Servlets_Weblogic - Fatal编程技术网

Java,获取:Java.net.SocketException:输出excel文件时管道破裂

Java,获取:Java.net.SocketException:输出excel文件时管道破裂,java,sockets,exception,servlets,weblogic,Java,Sockets,Exception,Servlets,Weblogic,我有一个JEE应用程序存在问题: 通常,web浏览器会请求将数据导出到excel文件,服务器会将xls文件发送到web浏览器客户端 在请求将数据导出到excel文件的浏览器发送的某些请求参数下,服务器不发送响应,而是始终抛出java.net.SocketException:breaked pipe 有关守则如下: ByteArrayOutputStream memStream = getDocumentBO().generateDoc(document, numExp, tipo, in

我有一个JEE应用程序存在问题: 通常,web浏览器会请求将数据导出到excel文件,服务器会将xls文件发送到web浏览器客户端

在请求将数据导出到excel文件的浏览器发送的某些请求参数下,服务器不发送响应,而是始终抛出java.net.SocketException:breaked pipe

有关守则如下:

ByteArrayOutputStream memStream = getDocumentBO().generateDoc(document, numExp, tipo,     indexCol, nameCol, widthCol, orden, sc, url, true);
int size = memStream.size();
Long name = new Date().getTime();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", ("attachment;filename=" + name + ".xls"));
response.setContentLength(size);
ServletOutputStream ouputStream = response.getOutputStream();
memStream.writeTo(ouputStream);
ouputStream.flush();
ouputStream.close();
导致异常的代码行是memStream.writeTo(ooputstream)

堆栈跟踪是:

java.net.SocketException: Broken pipe

at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at weblogic.servlet.internal.ChunkOutput.writeChunkNoTransfer(ChunkOutput.java:548)
at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:505)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382)
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469)
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:304)
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:137)
at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:169)
at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:112)
at net.gencat.acc.sic.action.ExportAction.execute(ExportAction.java:202)
从发出请求到服务器抛出异常之间,浏览器客户端尚未关闭。服务器是weblogic

我想解决这个问题

从发出请求到服务器抛出异常之间,浏览器客户端尚未关闭

哦,是的。对等方已关闭连接。没有两条路可走