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 :

Ajax request erreur SAXParseException


Sujet :

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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut Ajax request erreur SAXParseException
    Bonjour,
    j'effectue une requete http avec du xml.
    Voici ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <Request>
    <Service name='...' operation='...' id='1'>
    <Parameter name='...'>...</Parameter>
    <Parameter name='...'>...</Parameter>
    <Parameter name='...'>...</Parameter>
    <Parameter name='...'>...</Parameter>
    <Parameter name='...'>...</Parameter>
    <Parameter name='...'><![CDATA[	toto<br>]]></Parameter>
    </Service>
    </Request>
    Lorsque j'envoie cette requete, j'obtiens une exception que je n'arrive pas a rattraper:
    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
    [Fatal Error] :-1:-1: Premature end of file.
    org.xml.sax.SAXParseException: Premature end of file.
            at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
            at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
            at org.jdesktop.dom.SimpleDocumentBuilder.parse(SimpleDocumentBuilder.ja
    va:97)
            at org.jdesktop.dom.SimpleDocumentBuilder.parse(SimpleDocumentBuilder.ja
    va:49)
            at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
            at org.jdesktop.dom.SimpleDocumentBuilder.parse(SimpleDocumentBuilder.ja
    va:104)
            at org.jdesktop.dom.SimpleDocumentBuilder.simpleParse(SimpleDocumentBuil
    der.java:238)
            at org.jdesktop.dom.SimpleDocumentBuilder.simpleParse(SimpleDocumentBuil
    der.java:284)
            at org.jdesktop.swingx.html.XmlHttpRequest.handleResponse(XmlHttpRequest
    .java:66)
            at org.jdesktop.swingx.html.HttpRequest$AsyncWorker.doInBackground(HttpR
    equest.java:558)
            at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
            at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
            at org.jdesktop.swingx.html.HttpRequest$AsyncWorker.sendRequest(HttpRequ
    est.java:483)
            at org.jdesktop.swingx.html.HttpRequest$AsyncWorker.access$200(HttpReque
    st.java:473)
            at org.jdesktop.swingx.html.HttpRequest.send(HttpRequest.java:360)
            at ...
    L'erreur s'effectue lors du send de la requete.

    Cette erreur s'affiche sur la console, malgres que la sortie soit redirigée et malgres le catch que j'effectue...
    Je n'arrive pas a comprendre... Je ne comprend pas, mon xml est bien formé, cela viendrait il du CDATA?

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    Le XML m'a l'air bien formé, le CDATA aussi, et de toute façon si c'était mal formé l'erreur ne serait pas une Premature end of file (sauf si le fichier s'arrêtait avant de fermer toutes ses balises, ce qui ne semble pas être le cas.)

    À mon avis le problème vient de la récupération du XML. Elle n'est peut-être pas complète, ou peut-être qu'elle n'est pas envoyée complètement. Tu peux nous dire comment tu vérifies ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut
    j'ajoute la requete dans un log avant de l'envoyer.
    ça ne prouve effectivement pas que tout est envoyé...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Log.add("URL_router: " + URL_router);
    XmlHttpRequest request = new XmlHttpRequest();
    Log.add("creation de l'objet XmlHttpRequest: " + request);
    PropListener listener = new PropListener();
    listener.setRequest(request);
    request.addOnReadyStateChangedListener(listener);
    request.open(Method.POST, new URL(URL_router), false);
    request.send(requestStr);
    L'exception se déclenche sur le request.send()

    je crois avoir un début de piste:
    http://forums.java.net/jive/thread.j...ssageID=190785

    faut juste que j'arrive a decoder...
    Par contre, je ne vois pas de fin heureuse au probleme de cette personne, enfin, mon anglais n'est pas tres bon ^^

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut
    Pour ceux que ça interesse, il faut utiliser la methode async
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.jdesktop.http.async.XmlHttpRequest;
    et non plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.jdesktop.swingx.http.XmlHttpRequest;
    Il y a deux trois methode qui change de nom, mais ça reste a peu de chose pres identique...

    Forcement, j'ai avancé, mais ça coince autre part...
    J'ai maintenant une erreur sur la reponse

Discussions similaires

  1. Ext.Ajax.request : IE8 OK and FIREFOX/CHROME erreur
    Par locas dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 03/04/2011, 20h01
  2. [Prototype] Passage de variable sur fonction new Ajax.Request
    Par Overstone dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 31/08/2007, 11h36
  3. [Prototype] Gestion d'évenement apres Ajax.Request
    Par Cladjidane dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 22/06/2007, 15h51
  4. [Prototype] [DOM] ajax.updater() ou ajax.request()
    Par wincroc dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 13/06/2007, 11h26
  5. [AJAX] Ajax.Request et le caractère '+'
    Par jon301 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/11/2006, 21h34

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