Bonjour,

Mon application est basée sur Tomcat 5.5 avec le JDK 1.5.

J'ai une servlet qui me renvoie du contenu XML (requêtes vers BDD). Je souhaite transformer le résultat via un processeur XSLT.

J'arrive à transformer des fichiers présents à des URL mais pas à lire le résultat de la servlet.

Le code qui marche :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 TransformerFactory tFactory = javax.xml.transform.TransformerFactory.newInstance();
         // Get the XML input document and the stylesheet, both in the servlet engine document directory
         Source xmlSource = new javax.xml.transform.stream.StreamSource(
            new java.net.URL("http://localhost:8080/<myApp>/test.xml").openStream()
         );
         Source xslSource = new javax.xml.transform.stream.StreamSource(
            new java.net.URL("http://localhost:8080/<myApp>/test.xsl").openStream()
         );
         // Generate the transformer.
         Transformer transformer = tFactory.newTransformer(xslSource);
         // Perform the transformation, sending the output to the response.
         transformer.transform(xmlSource,new StreamResult(out));
Lorsque je remplace l'URL par celle de la servlet (qui répond à un Get) j'obtiens une page blanche (pas d'erreurs). Je pense que je ne manipule pas correctement la réponse de la servlet ce qui donne un fichier vide ou quelque chose dans ce gout là.

J'ai cru comprendre qu'il fallait passer par un StringReader que l'on donne au processeur XSL comme source mais je n'arrive pas à le faire fonctionner.

Des idées ?

Merci.