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)
/*
 * Transformacion.java
 *
 * Created on 28 de noviembre de 2002, 1:23
 */

package utils.formateo;



import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
 
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;

// For write operation
import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;

import java.io.*;

public class Transformacion
{
    public Transformacion(){
    }

    public static void main(String argv[])
    {
        Transformacion s = new Transformacion();
    }

    public void Transforma(String xml, String stylesheet, HttpServletResponse response)
 throws TransformerException, TransformerConfigurationException, FileNotFoundException, IOException

    {

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        //factory.setNamespaceAware(true);
        //factory.setValidating(true);
 
        try {
        DocumentBuilder builder = factory.newDocumentBuilder();
        TransformerFactory tFactory = TransformerFactory.newInstance();
        byte b[] = (new String(xml)).getBytes();
        ByteArrayInputStream bitsxml = new ByteArrayInputStream(b);
        StreamSource stylesource = new StreamSource(stylesheet);
        Transformer transformer = tFactory.newTransformer(stylesource);
        StreamResult result = new StreamResult(response.getOutputStream());
        transformer.transform(new StreamSource(bitsxml), result);
           
        } catch (TransformerConfigurationException tce) {
           // Error generated by the parser
          System.out.println ("\n** Transformer Factory error");
          System.out.println("   " + tce.getMessage() );

           // Use the contained exception, if any
           Throwable x = tce;
           if (tce.getException() != null)
              x = tce.getException();
           x.printStackTrace();
      
       } catch (TransformerException te) {
           // Error generated by the parser
           System.out.println ("\n** Transformation error");
           System.out.println("   " + te.getMessage() );

           // Use the contained exception, if any
           Throwable x = te;
           if (te.getException() != null)
               x = te.getException();
           x.printStackTrace();

        } catch (ParserConfigurationException pce) {
            // Parser with specified options can't be built
            pce.printStackTrace();

        } catch (IOException ioe) {
           // I/O error
           ioe.printStackTrace();
       }

    } // main
}//clase

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

Reply via email to