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 :

Exception in thread "main" java.lang.NullPointerException


Sujet :

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

  1. #1
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 27
    Par défaut Exception in thread "main" java.lang.NullPointerException
    J'ai exécuté le code ci-dessous:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package WebConnection;
    import java.io.File;
    import java.lang.String;
    import org.xmldb.api.base.*;
    import org.xmldb.api.modules.*;
    import org.xmldb.api.*;
    import org.xmldb.api.DatabaseManager;
    import org.xmldb.api.base.Collection;
    import org.xmldb.api.base.Database;
    public class connectionBD {
      // private static Object DatabaseManager;
       //private static Database data;
    public static void main(String args[]) throws Exception {
    try
    {
    String driver = "org.exist.xmldb.DatabaseImpl";
    //déterminer/* la classe de driver utilisée
    //Pour se connecter à une base de données il est essentiel de charger dans un premier temps le
    //pilote de la base de données à laquelle on désire se connecter grâce à un appel au
    // DriverManager (gestionnaire de pilotes) : Class.forName("nom.de.la.classe");
    // Cette instruction charge le pilote et crée une instance de cette classe.
    Class cl = Class.forName(driver);
    Database data = (Database)cl.newInstance();
    DatabaseManager.registerDatabase(data);
        //Accès à la collection
    Collection col = DatabaseManager.getCollection("xmldb:exist://localhost:8080/exist/xmlrpc/webhouse/examples" );
    //Appel au service permettant d’exécuter des requêtes avec XPath
    String xpath = "//description[@id='01']";
    XPathQueryService service =
    (XPathQueryService) col.getService("XPathQueryService", "1.0");
    service.setProperty("indent", "yes");
    ResourceSet result = service.query(xpath);
    ResourceIterator i = result.getIterator();
    while(i.hasMoreResources()) {
    Resource r = i.nextResource();
    System.out.println((String)r.getContent());
    }
    }
    catch (XMLDBException e) {
           System.out.println("XML: DB Exception occured "+ e);
     
     }
    }
    }
    Mais, j'ai eu l'erreur suivante Exception in thread "main" java.lang.NullPointerException au niveau de la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    XPathQueryService service =
    (XPathQueryService) col.getService("XPathQueryService", "1.0");
    je sais pas comment la résoudre.
    quelqu'un pourra m'aider

  2. #2
    Membre actif
    Inscrit en
    Avril 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 27
    Par défaut
    j'ai mis un test sur la valeur du Col et je l'a trouvé null, comment remédier à ce problème car il pourra être la cause de l'exception.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est pas qu'il pourrait être la cause de l'exception, c'est qu'il l'est, sans l'ombre d'un doute. Appeler la méthode d'un pointeur null va toujours lancer un NullPointerException.

    Comment ne pas faire en sorte qu'il ne soit pas null, ça... D'après la javadoc de DatabaseManager c'est ce qui se passe quand la Collection indiquée est introuvable. ('Feraient mieux de lancer une exception... Mais bon.)
    Je sais pas utiliser ce truc, je ne sais pas si ton URI a l'air correcte ou s'il y a des pièges qui puissent la rendre introuvable. Je suggère de beaucoup vérifier cette URI et si la base de donnée est accessible avec les outils clé en main.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ?
    Par freezerhm dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 04/12/2007, 09h26
  2. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par Trint dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 27/02/2007, 11h28
  3. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  4. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45

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