Bonjour,
j'ai un petit souci avec le parseur SAX. Je développe une appli WebService dans laquelle j'ai besoin de parser un fichier XML. Quand je teste mon appli en local, tout marche très bien. Seulement quand je l'installe sur une autre machine, l'appli se bloque sur le parsing XML sans que je sache pourquoi.
Est-ce que quelqu'un a une idée de ce qui pourrait bloquer le parsing en SAX d'un fichier XML ?
Le code est le suivant :
La classe ValidationHandler hérite de DefaultHandler et redéfinit startElement et endElement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SAXParserFactory fabrique = SAXParserFactory.newInstance(); fabrique.setNamespaceAware(true); // création d'un parseur SAX SAXParser parseur = fabrique.newSAXParser(); //récupération du HttpServlet pour pouvoir lire le fichier validation.xml MessageContext ctx = MessageContext.getCurrentContext(); HttpServlet serv = (HttpServlet)ctx.getProperty("transport.http.servlet"); // lecture du fichier XML avec un DefaultHandler InputStream is = serv.getServletContext().getResourceAsStream(VALIDATION_FILE); ValidationHandler gestionnaire = new ValidationHandler(); parseur.parse(is, gestionnaire);
A l'exécution sur l'autre machine, l'appli ne rentre même pas une fois dans le startElement.
Je ne sais pas si ca peut venir de certains jar que j'aurais pu oublier et qui sont par défaut sur ma machine. Mais je n'ai pas de plantage ou de ClassNotFoundException qui me revient.
Les classes SAXParser et SAXParserFactory viennent du package javax.xml.parsers.
Merci d'avance.
Partager