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

Java Discussion :

Exception in thread "main" java.lang.NullPointerException


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Par défaut Exception in thread "main" java.lang.NullPointerException
    Bonjour
    J'execute le code suivant:
    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
     
    import java.net.MalformedURLException;
    import org.apache.xmlrpc.client.XmlRpcClient;
    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
    import java.util.ArrayList;
    import java.net.URL;
    import java.util.HashMap;
    import java.util.Vector;
    import org.apache.xmlrpc.XmlRpcException;
     
    public class example {
     
     
     
    	public static void main(String[] args) throws MalformedURLException, XmlRpcException {
     
    		OpenERP open = new OpenERP("localhost", "test", "admin", "azerty");
                    boolean resultat =false;
                    resultat=  open.loginOpenERP("admin", "azerty");
                    System.out.println(resultat);
     
     
                    XmlRpcClient client = new XmlRpcClient();
                    Vector<String> res = new Vector<String>();
    		Object[] search_detail = new Object[]{"id", "=", "1"};
    		Object[] search = new Object[]{search_detail};
    		Object[] param = new Object[] {"test",1,"admin", "product.product", "search", search};
    		Object recu =client.execute("execute", param);
    		Object[] a = (Object[]) recu;
    	   	for (int i = 0; i < a.length; i++)
    			if ((a[i] instanceof String) || (a[i] instanceof Integer))
    		    	res.add((a[i]).toString());
    		   System.out.print(res);
        }
    }
    Pour acceder a la base de donnée d'openerp, la phase de la connexion se passe bien et retourne 'true'.
    mais une exception de type :
    Exception in thread "main" java.lang.NullPointerException
    se géneere au niveau de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object recu =client.execute("execute", param);
    SVP si quelqu'un a une idée???

  2. #2
    Membre émérite
    Avatar de LinkinSelim
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    Est-ce que tu peux coller toute la trace de ton exception NullPointerException ?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Par défaut
    Voila:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in thread "main" java.lang.NullPointerException
            at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.newConnection(XmlRpcSunHttpTransport.java:36)
            at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:186)
            at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
            at test.example.main(example.java:43)
    Java Result: 1
    et la ligne 43 est:
    Object recu =client.execute("execute", param);

  4. #4
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Ton client n'est pas configuré
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  5. #5
    Membre émérite
    Avatar de LinkinSelim
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mars 2006
    Messages : 365
    Par défaut
    à mon avis la piste de Nemek est la bonne, tu devrai configuré ton client d'abord. J'ai trouvé un ptit bout de code sur le tutorial de apache. Le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
    config.setServerURL(new URL("http://127.0.0.1:8080/xmlrpc"));
    XmlRpcClient client = new XmlRpcClient();
    client.setConfig(config); //Configuration du client
    Object[] params = new Object[]{new Integer(33), new Integer(9)};
    Integer result = (Integer) client.execute("Calculator.add", params);
    Je ne suis pas spécialiste de apache XMLRPC mais je pense que c'est ça qui manque dans ton code.

    Bon courage.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Par défaut
    Merci de votre aide, j'ai configuré mon client et j'ai changé mon code :
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    import java.net.MalformedURLException;
    import org.apache.xmlrpc.client.XmlRpcClient;
    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
    import java.util.ArrayList;
    import java.net.URL;
    import java.util.HashMap;
    import java.util.Vector;
    import org.apache.xmlrpc.XmlRpcException;
    public class example {
     
     
    	public static void main(String[] args) throws MalformedURLException, XmlRpcException {
     
    		OpenERP open = new OpenERP("localhost", "test", "admin", "azerty");
                    boolean resultat =false;
                    resultat=  open.loginOpenERP("admin", "azerty");
                    System.out.println(resultat);
     
     
    Vector params1 = new Vector();
    params1.addElement("test");
    params1.addElement("admin");
    params1.addElement("azerty");
     
    XmlRpcClient xmlrpcLogin = new XmlRpcClient();
    XmlRpcClientConfigImpl xmlrpcConfigLogin = new XmlRpcClientConfigImpl();
    xmlrpcConfigLogin.setEnabledForExtensions(true);
    xmlrpcConfigLogin.setServerURL(new URL("http", "localhost", 8069, "/xmlrpc/common"));
    xmlrpcLogin.setConfig(xmlrpcConfigLogin);
     
    Object id = xmlrpcLogin.execute("login", params1);
    System.out.println("Login Id : " + id.toString());
     
    XmlRpcClient client = new XmlRpcClient();
    XmlRpcClientConfigImpl clientConfig = new XmlRpcClientConfigImpl();
    clientConfig.setEnabledForExtensions(true);
    clientConfig.setServerURL(new URL("http", "localhost", 8069, "/xmlrpc/object"));
    client.setConfig(clientConfig);
    Object[] params2 = { "create_uid", "=", 1 };
    Vector<Object> params = new Vector<Object>();
    params.add(params2);
    Vector<Object> arg = new Vector<Object>();
    arg.add("test");
    arg.add(1);
    arg.add("admin");
    arg.add("product.product");
    arg.add("read");
    arg.add(params);
    System.out.println(arg);
    Object[] ids = (Object[]) client.execute("execute", arg);
    System.out.println("partner addressees with create_uid 1 :");
    for (Object obj : ids) {
    int a = Integer.parseInt(obj.toString());
    System.out.println(a);
    }
     
    }
     
    	}
    Mais cette fois ci il me génere une autre exception :

    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
    Exception in thread "main" org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse servers response: Unknown type: string
            at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:267)
            at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:216)
            at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:157)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:146)
            at test.example.main(example.java:78)
    Caused by:
    org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 16; Unknown type: string
            at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.startElement(RecursiveTypeParserImpl.java:115)
            at org.apache.xmlrpc.parser.MapParser.startElement(MapParser.java:137)
            at org.apache.xmlrpc.parser.RecursiveTypeParserImpl.startElement(RecursiveTypeParserImpl.java:126)
            at org.apache.xmlrpc.parser.XmlRpcResponseParser.startElement(XmlRpcResponseParser.java:126)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:504)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
            at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
            at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:265)
            at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:216)
            at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:157)
            at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:146)
            at test.example.main(example.java:78)
    Java Result: 1
    example.java:78 est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object[] ids = (Object[]) client.execute("execute", arg);

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