Foros del Web » Programación para mayores de 30 ;) » Java »

Error con response

Estas en el tema de Error con response en el foro de Java en Foros del Web. Buenos dias a tod@s, Agradeceros de ante mano vuestra ayuda y ahora al grano... tengo este código pora imprimir un pdf. El proyecto está montado ...
  #1 (permalink)  
Antiguo 12/11/2009, 07:07
Avatar de mlillo  
Fecha de Ingreso: julio-2005
Mensajes: 54
Antigüedad: 18 años, 9 meses
Puntos: 0
Error con response

Buenos dias a tod@s,

Agradeceros de ante mano vuestra ayuda y ahora al grano...
tengo este código pora imprimir un pdf. El proyecto está montado en un Tomcat 5.5.7 y jdk 1.5_09.
Este es mi código:
Código PHP:
byte[] datos = (byte[]) documento.getDocumento(idPdf);

        if(
datos != null)
        {
            
// Se prepara la respuesta.
            
response.addHeader("Content-Disposition""inline;filename=documento.pdf");
            
response.setContentType("application/pdf");
            
response.getOutputStream().write(datos0datos.length);
        } 
El error que presenta es:

[http-8081-Processor21] 2009-11-12 10:42 : [DEBUG] util.FilterChainProxy () - /mostrarPdf.do?nombreDocumentoPDF=Solicitud%20EP reached end of additional filter chain; proceeding with original chain
[http-8081-Processor21] 2009-11-12 10:42 : [ERROR] struts.BandejaExceptionHandler () - [NL: 1258018921286] null, null
ClientAbortException: java.net.SocketException: Connection reset
at org.apache.catalina.connector.OutputBuffer.realWri teBytes(OutputBuffer.java:366)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteCh unk.java:328)
at org.apache.catalina.connector.OutputBuffer.writeBy tes(OutputBuffer.java:392)
at org.apache.catalina.connector.OutputBuffer.write(O utputBuffer.java:381)
at org.apache.catalina.connector.CoyoteOutputStream.w rite(CoyoteOutputStream.java:76)
at es.juntadeandalucia.cice.cmi.piloto_ov.struts.acti ons.MostrarPDFAction.execute(MostrarPDFAction.java :52)
at org.springframework.web.struts.DelegatingActionPro xy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.action.RequestProcessor.processA ctionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInte rceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInte rceptor.doFilter(FilterSecurityInterceptor.java:72 )
at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.do Filter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousPro cessingFilter.doFilter(AnonymousProcessingFilter.j ava:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegr ationFilter.doFilter(HttpSessionContextIntegration Filter.java:286)
at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(F ilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter( FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:738)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
[http-8081-Processor21] 2009-11-12 10:42 : [ERROR] StandardWrapper[/piloto_ov:pctJspServlet] () - El Servlet.service() para servlet pctJspServlet lanzó una excepción
java.lang.IllegalStateException: getOutputStream() ya ha sido llamado para esta respuesta
at org.apache.catalina.connector.Response.getWriter(R esponse.java:596)
at org.apache.catalina.connector.ResponseFacade.getWr iter(ResponseFacade.java:186)
at javax.servlet.ServletResponseWrapper.getWriter(Ser vletResponseWrapper.java:111)
at javax.servlet.ServletResponseWrapper.getWriter(Ser vletResponseWrapper.java:111)
at org.apache.jasper.runtime.JspWriterImpl.initOut(Js pWriterImpl.java:124)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffe r(JspWriterImpl.java:117)
at org.apache.jasper.runtime.JspWriterImpl.flush(JspW riterImpl.java:172)
at org.apache.struts.taglib.tiles.InsertTag$InsertHan dler.doEndTag(InsertTag.java:889)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag( InsertTag.java:462)
at org.apache.jsp.pct.comun.jsp.tiles.baseMensaje_jsp ._jspx_meth_tiles_get_0(org.apache.jsp.pct.comun.j sp.tiles.baseMensaje_jsp:325)
at org.apache.jsp.pct.comun.jsp.tiles.baseMensaje_jsp ._jspService(org.apache.jsp.pct.comun.jsp.tiles.ba seMensaje_jsp:132)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:325)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:245)
at es.juntadeandalucia.cice.cmi.pct.servlet.PctJspSer vlet.service(PctJspServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.inv oke(ApplicationDispatcher.java:673)
at org.apache.catalina.core.ApplicationDispatcher.doI nclude(ApplicationDispatcher.java:575)
at org.apache.catalina.core.ApplicationDispatcher.inc lude(ApplicationDispatcher.java:500)
at org.apache.struts.action.RequestProcessor.doInclud e(RequestProcessor.java:1116)
at org.apache.struts.tiles.TilesRequestProcessor.doFo rward(TilesRequestProcessor.java:260)
at org.apache.struts.tiles.TilesRequestProcessor.proc essTilesDefinition(TilesRequestProcessor.java:239)
at org.apache.struts.tiles.TilesRequestProcessor.proc essForwardConfig(TilesRequestProcessor.java:302)
at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)


Alguna idea....?
__________________
Salu2 :pensando:
  #2 (permalink)  
Antiguo 12/11/2009, 09:11
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Error con response

Te falta el close() del outputstream

Código:
            response.setContentType("application/pdf"); 
            OutputStream sos = response.getOutputStream();
	          sos.write(datos);//si vas a mandar todo el array de bytes
            sos.flush();
            sos.close();
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.