IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

IOException pendant parsing XML en local


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Par défaut IOException pendant parsing XML en local
    Bonjour,

    Là il m'arrive vraiment un mauvais coup
    Mon programme doit parser un fichier XML (plus précisément GXL, généré par l'application JGraphPad), chose qu'il faisait très bien (prêt à être livré)... jusqu'à ce matin! J'ai maintenant une IOException "Connection timed out: connect".
    Voici la partie du code où est générée l'erreur:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    ...
    JFileChooser chooser = new JFileChooser();
    File graphFile = null;
    chooser.setDialogTitle("Choose the GXL graph file to use");
    int returnVal = chooser.showOpenDialog(null);
    if(returnVal != JFileChooser.APPROVE_OPTION) {
    System.exit(0);
    }
    graphFile = chooser.getSelectedFile();
     
    SAXParserFactory factory;
    SAXParser parser = null;
    try{
    	    factory = SAXParserFactory.newInstance();
    	    parser = (SAXParser) factory.newSAXParser();
         }
    catch (ParserConfigurationException pExc) {}
    catch (SAXException sExc) {}
    // GraphReadingHandler hérite de DefaultHandler, et se //contente de redéfinir quelques methodes
    GraphReadingHandler handler = new GraphReadingHandler();
     
    try{
    	parser.parse(graphFile, handler);
    }
    catch (SAXException sEx) {
    JOptionPane.showMessageDialog(null,
    	"4-There is a problem with the file that you have provided." +"\n"+"Please provide a valid GXL graph file, message: "+sEx.getMessage(), "SAXException", JOptionPane.ERROR_MESSAGE);
    	System.exit(3);
    }
    catch (IOException io) {
    io.printStackTrace();
    JOptionPane.showMessageDialog(null,
            "5-There is a problem with the file that you have provided. Message: "+io.getMessage(), "IOException", JOptionPane.ERROR_MESSAGE);
    	System.exit(3);
    }
    ...
    Vous l'aurez compris, c'est une IOException que je reçois à chaque fois. Voici les messages que j'obtiens en console:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    java.net.ConnectException: Connection timed out: connect
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(Unknown Source)
    	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    	at java.net.PlainSocketImpl.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at java.net.Socket.connect(Unknown Source)
    	at sun.net.NetworkClient.doConnect(Unknown Source)
    	at sun.net.www.http.HttpClient.openServer(Unknown Source)
    	at sun.net.www.http.HttpClient.openServer(Unknown Source)
    	at sun.net.www.http.HttpClient.<init>(Unknown Source)
    	at sun.net.www.http.HttpClient.New(Unknown Source)
    	at sun.net.www.http.HttpClient.New(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    	at javax.xml.parsers.SAXParser.parse(Unknown Source)
    	at javax.xml.parsers.SAXParser.parse(Unknown Source)
    	at SimulationBeginning.parseGraphFile(SimulationBeginning.java:343)
    	at SimulationBeginning.checkGraphFile(SimulationBeginning.java:215)
    	at SimulationBeginning.main(SimulationBeginning.java:43)
    Des infos supplémentaires:
    1-Mon fichier XML se trouve sur mon ordinateur, il n'y a aucune connection distante.
    2-Le XML que je lis est le même que celui que j'ai toujours testé pour mon programme. Par prudence j'ai aussi essayé sur d'autres fichiers XML, mais le même problème persiste.
    3-Mon programme marchait bien jusqu'à ce matin! Mais j'ai maintenant ce message d'erreur sur mon PC, mais également sur le Mac de ma compagne. Seul changement que j'avais fait nettoyage du code (enlevé les lignes commentées, eh oui je dois rendre mon projet demain!) et rajout de commentaires avant chaque méthode pour générer la Javadoc (avec Eclipse).
    4-J'ai mis des catch(Exception e) un peu partout dans ma classe GraphReadingHandler (celle qui hérite de DefaultHandler), ils envoient tous un message via JOptionPane, mais le problème de semble pas venir de cette classe...
    5-Cette IOException se produit que le programme soit lancé via Eclipse, ou via un jar (je dis ça parce que j'ai eu une fois un problème de suppression de fichier qui s'est résolu en redémarrant Eclipse!).

    Si vous pouviez m'aider ce serait vraiment formidable, je ne comprends absolument pas ce qui se passe: j'ai fait de nombreuses recherches mais les problèmes d'IOException sont souvent rencontrés quand il y a des connexions distantes en jeu...

    Edit: une précision, j'ai demandé à ma compagne de relancer une version précédente du jar sur son Mac (que je lui avais envoyé par mail il y a 2 jours, donc avant que je nettoie le code, et qui marchait. Eh bien il y a le meme probleme, une IOException est lancée!!! Je n'y comprends rien... pourquoi une jar se mettrait-il à ne plus marcher sur plusieurs machines différentes???

    Heeeeeeelp pleeeeaase!

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Salut,

    Ton fichier se trouve en local..

    Si j'étais toi, j'essaierais de créer un objet File avec un objet statique pour voir si ça plante ou non, sans le filechooser.

    Tu as une methode pour tester l'existance d'un fichier.

    Es-tu sûr que le fichier est bien en local et non sur un disque partagé ?

    Je trouve ça aussi très bizarre que du jour au lendemain ton application ne fonctionne plus, surtout sur un truc aussi simple que d'aller chercher un fichier via un filechooser... As-tu changé de version de JRE?

    A+

Discussions similaires

  1. [XML] [EXPAT] Parsing XML et tableau global
    Par GLDavid dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/02/2006, 12h31
  2. [DOM] Probleme de parsing Xml en java
    Par bolivari dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 25/01/2006, 19h42
  3. parsing xml en francais
    Par ouioui2000 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/10/2005, 17h03
  4. lier XSL et XML en local
    Par closo dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/09/2005, 15h02
  5. [JSP] Parsing XML avec JDOM
    Par benben13 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 26/08/2005, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo