3monkeys / play.rules

Un e-book sur Play!Framework / an e-book about Play!Framework
http://3monkeys.github.com/play.rules/
76 stars 21 forks source link

Revue Chap02 Web services #27

Closed javathought closed 12 years ago

javathought commented 12 years ago

Reste toujours le problème de faire fonctionner la méthode saveAlbumByApi dans le projet créé pour suivre le livre alors que ça devrait fonctionner :

Execution exception (In /app/controllers/Application.java around line 114) Correspondant à la ligne : Element albumNode = document.getDocumentElement();

Remarque : quelques différences de mise en forme sur les espacements de début de ligne sont apparus.

loicdescotte commented 12 years ago

Hi, je regarde ça demain merci beaucoup pour ton aide!

loicdescotte commented 12 years ago

Je viens de tester la méthode saveAlbumByApi, elle fonctionne pour moi. J'ai mis à jour le code de vote4music pour faire coller aux exemples du livre et les tests de création d'albums par les API XMl et JSOn en passant par saveAlbumByApi sont tous au vert : https://github.com/loicdescotte/vote4music/commit/d807d4eb80b9588b11bcf86b82da423b48b58ea8

Tu peux me redonner l'erreur que tu avais?

javathought commented 12 years ago

C'est sur la dernière ligne (116) du code suivant :

public static void saveXML(InputStream requestBody){
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    Document document = null;
    try{
        //création du document XML à partir de la requête
        javax.xml.parsers.DocumentBuilder builder = factory.newDocumentBuilder();
        document = builder.parse(requestBody);
    }
        catch(Exception e){
            Logger.error(e.getMessage());
    }
    //parsing du contenu XML
    Element albumNode = document.getDocumentElement();

J'ai l'erreur suivante :

    play.exceptions.JavaExecutionException
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:229)
at Invocation.HTTP Request(Play!)
   Caused by: java.lang.NullPointerException
at controllers.Application.saveXML(Application.java:116)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:546)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:500)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:476)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:471)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:159)
... 1 more
loicdescotte commented 12 years ago

Bizarre j'ai le même code

Tu testes avec quoi ton POST XML? Firefox Poster? Tu as essayé avec les tests fonctionnels Play?

Envoie moi ton code si tu veux et j'essaie de trouver ce qui cloche

javathought commented 12 years ago

Oui, j'ai testé avec Poster et par les tests fonctionnels.

Je t'ai envoyé par message le code complet de la classe.