Dionisio,
Your transformamaquinas bean is internally calling response.getWriter().
This interfere with the JSP, as it calls the same method internally to
create the "out" variable.

If you use this code inside a servlet you should have no problem.

For using the bean in a JSP, you should use "out", instead of the
getWriter() return value. If transformamaquinas is yours (it seems so, by
the package name ;-), you should try to add an alternative method in which
you pass "out" too, instead of only the request. This way you will have no
problems with JSPs.

I suppose you pass the request to be able to call other request methods. If
you don't use it, you could also replace the parameter, instead of adding a
new one.


----- Original Message -----
From: "Dionisio Ruiz de Zarate" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, November 28, 2002 4:16 PM
Subject: bug in tomcat converting xml using xslt?


> Hello from the
>
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/xslt/work/Stylizer.java
> i have load one classe and i have transform it (i attach the classe).
> this class run welss on RESIN , this class transform one XML using one
XSLT
> tempalte and produces HTML.
> for using i make this:
> <jsp:useBean id="transformamaquinas" scope="page"
> class="utils.formateo.Transformacion" />
>
> and where i whant to show the XML transform i writte this:
> <%
> //esta String (kk) hay el resultado de una consulta a una bd que me lo
mete
> en formato xml, bien fomado y validado.
>     String kk = maquinas.selectTodasMaquinas("0", "0", 1,0);
> //la xslt
>     String xslStyleSheet = application.getRealPath("HomeMaquinas.xslt");
> //la transformacion
>    transformamaquinas.Transforma(kk, xslStyleSheet, response);
>    %>
>
>
> this in resin works well but in tomcat 4.1.12 show the bellow error. Can
you
> help me? thanks
>
> ERROR:
>
> 2002-11-28 00:10:52 StandardWrapper[:invoker]: Loading container servlet
> invoker
> 2002-11-28 00:10:52 HostConfig[pruebas.irudia.com]: Deploying
configuration
> descriptor xml.xml
> 2002-11-28 00:11:20 StandardWrapperValve[jsp]: Servlet.service() for
servlet
> jsp threw exception
> org.apache.jasper.JasperException: getWriter() has already been called for
> this response
>  at
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
> 48)
>  at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
>  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:247)
>  at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:193)
>  at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:260)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:191)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
>  at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
> )
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> java:170)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>  at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
> )
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :174)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>  at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:256)
>  at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:361)
>  at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:563)
>  at
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:535)
>  at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:638)
>  at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:533)
>  at java.lang.Thread.run(Thread.java:536)
> ----- Root Cause -----
> java.lang.IllegalStateException: getWriter() has already been called for
> this response
>  at
>
org.apache.coyote.tomcat4.CoyoteResponse.getOutputStream(CoyoteResponse.java
> :585)
>  at
>
org.apache.coyote.tomcat4.CoyoteResponseFacade.getOutputStream(CoyoteRespons
> eFacade.java:158)
>  at utils.formateo.Stylizerf.toHTML(Stylizerf.java:35)
>  at org.apache.jsp.index_jsp._jspService(index_jsp.java:285)
>  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
> 04)
>  at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
>  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:247)
>  at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:193)
>  at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:260)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:191)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
>  at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
> )
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> java:170)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>  at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
> )
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :174)
>  at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>  at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>  at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:256)
>  at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:361)
>  at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:563)
>  at
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:535)
>  at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:638)
>  at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:533)
>  at java.lang.Thread.run(Thread.java:536)
>


----------------------------------------------------------------------------
----


> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to