[FOP] Instanciation d'un objet Driver foireuse

Instanciation d'un objet Driver foireuse [FOP] - Java - Programmation

Marsh Posté le 16-03-2006 à 13:40:19    

Bon, voila, j'integre du code xsl/FOP existant dans une webapp et j'ai un probleme etrange. Le processus de remplissage du fichier xsl se passe bien, ainsi que la transformation en flux d'octets PDF. Le probleme survient lors de l'ecriture, je me retrouve avec des pdf de 0ko et Aucune exception n'est remontée.
 
Alors je trace à l'ancienne:
 

Code :
  1. try
  2. {
  3.     System.out.println("hip1" );
  4.         fname = rep + System.getProperty("file.separator" ) + id + "_truc.pdf";
  5.     System.out.println("hip2" );
  6.         sortie=  new FileOutputStream(fname);                
  7.     System.out.println("hip3" );
  8.         ByteArrayOutputStream out = new ByteArrayOutputStream();
  9.     System.out.println("hip4" );
  10.         Driver driver = new Driver(foFile, out); // ligne qui plante
  11.     System.out.println("hip5" );
  12.         driver.run();
  13.     System.out.println("hip6" );
  14.         byte[] content = out.toByteArray();    
  15.     System.out.println("hip7" );            
  16.         sortie.write (content);        
  17.     System.out.println("hip8" );        
  18.                     
  19. }
  20. catch (Exception ex)  // en desespoir de cause
  21. {
  22.     System.err.println("erreur de génération du PDF===>" );
  23.     ex.printStackTrace();                                    
  24. }    
  25. finally
  26. {
  27.     System.out.println("FIN RENDER FO" );
  28.     /* snip */
  29.        return fname;
  30. }


 
Et a l'execution:
 


[16/03/06 13:21:43:922 CET] 6c349cdd SystemOut     O hip1
[16/03/06 13:21:43:922 CET] 6c349cdd SystemOut     O hip2
[16/03/06 13:21:43:922 CET] 6c349cdd SystemOut     O hip3
[16/03/06 13:21:43:922 CET] 6c349cdd SystemOut     O hip4
[16/03/06 13:21:45:141 CET] 6c349cdd SystemOut     O FIN RENDER FO


 
On passe donc du "new Driver()" au bloc finally comme ça, sans aucune autre forme visible d'erreur (hormis le fichier vide).
 
J'ai besoin de vos lumières [:dawa]


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 16-03-2006 à 13:40:19   

Reply

Marsh Posté le 16-03-2006 à 14:13:43    

Essaye de faire un catch Throwable pour tester.
 
Et enlève le return du bloc finally !
 
Il ne faut jamais faire return ou de throw dans un bloc finally car sinon, ça a des effet non prédictibles.
 
Ex : Si on execute le code suivant essayez de déterminer quelle chaine est retournée ...

Code :
  1. try {
  2.   throw new Exception();
  3. } catch (Exception e) {
  4.   return "catch";
  5. } finally {
  6.   return "finally";
  7. }

Message cité 1 fois
Message édité par Bidem le 16-03-2006 à 14:14:42
Reply

Marsh Posté le 16-03-2006 à 14:27:53    

Bidem a écrit :

Essaye de faire un catch Throwable pour tester.


Bien vu [:dawa]  

java.lang.NoClassDefFoundError: org/apache/batik/dom/svg/SVGContext


 
[:pingouino]


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed