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

XML/XSL et SOAP Discussion :

Erreur d'analyse XML


Sujet :

XML/XSL et SOAP

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut Erreur d'analyse XML
    Bonjour,

    Je voudrais connaitre la signification de ce message svp afin de m'orienter vers sa solution.

    En générant un fichier XML a partir d'une requête HTTP quand je tente d'ouvrir mon fichier voici ce que firefox me répond.
    Erreur d'analyse XML : erreur de syntaxe
    Emplacement : file:///C:/ISLO/ISLO%20Cin%C3%A9/Complet1.xml
    Numéro de ligne 1, Colonne 1 :00004000
    ^
    Je vous supplie de m'aider svp car je patauge vraiment .
    Merci d'avance

  2. #2
    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
    Ce message signifie qu'il y a une erreur de syntaxe au premier caractère de ton fichier.

    Dans ces cas-là c'est en général un artefact binaire. Il faudrait que tu nous mettes ce fichier quelque part pour qu'on vérifie ce qu'il a au juste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Tout d'abbord merci pour votre réponse.

    Voici un lien pour télécharger le fichier

    http://www.toofiles.com/fr/oip/docum.../complet1.html

  4. #4
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    Mozilla vérifie si ton fichier XML est correct.
    Si oui, alors il affiche l'arbre XML;
    sinon, il t'indique la première erreur qu'il rencontre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Numéro de ligne 1, Colonne 1 :00004000
    ^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    00004000
    <?xml version="1.0" encoding="utf-8"?>
    <tvseries code="223" xmlns="http://www.allocine.net/v6/ns/">
      <seriesType code="83001">Série</seriesType>
      <originalTitle>Lost</originalTitle>
    Un fichier XML commence par l'instruction <?xml version="1.0" encoding="utf-8"?>.

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Oui je sais bien cependant je cherche surtout d'où vient ce 00004000.

    Ce fichier résulte de cette instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    HTTPRequête("http://api.allocine.fr/rest/v3/tvseries?partner=YW5kcm9pZC12M3M&code="+URLEncode(Table_Prop.Col_code[ligne])+"&profile=large&mediafmt=mp4-lc&format=xml&striptags=synopsis,synopsisshort")
    vContenuFichier= HTTPDonneRésultat(HTTPRésultat)
    fSauveTexte(fRepExe()+"\Complet.xml",vContenuFichier)
    SourceXML = fChargeTexte(fRepExe()+"\Complet.xml")
    XMLDocument("DocXML",vContenuFichier)
    Alors je sais bien que l'on est pas dans la partie windev mais je pense pas que ce soit ce code qui pose problème car quand je change l'URL d'allociné et que je passe medium à la variable profile mon fichier est bon.

    Je cherche donc ce que pourrais vouloir dire le 00004000 pour trouver ce que je pourrais faire.

  6. #6
    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
    Ça ressemble à du chunked transfer encoding qui n'aurait pas été décodé.

    À vérifier en appelant l'API d'allociné avec un espion réseau ou un truc qui copie bêtement la réponse sans interpréter HTTP.

    Pour solutionner : j'en sais rien. Je connais pas la bibli client HTTP que tu utilises, mais apparemment elle sait pas décoder le chunked transfer encoding. Il en faut une autre, ou alors détecter toi-même cet encodage et le décoder.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Auriez vous un exemple à me donner pour "l'espion " svp?

  8. #8
    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
    Par exemple Wireshark.

    Edit: je suis con, moi, Firefox avec HttpLiveHeaders (et peut-être aussi Modify Headers pour faire l'appel comme il faut) sont bien suffisants.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Alors j'ai effectué l'écoute que m'avez dit par contre je ne sais pas comment analyser le résultat.
    Pouvez vous me dire ce qu'il faut que je regarde svp.

  10. #10
    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
    Le lien Wikipédia que je t'ai donné sera bien plus efficace, pour ça.

    Mais bon, en gros, vérifie si un header Transfer-Encoding: chunk est là.
    Concernant le corps du message lui-même, j'ai déjà analysé celui que tu nous as donné, et il ne fait aucun doute qu'il utilise cet encodage.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Alors peut etre que j'ai mal utilisé l'outil que tu m'as conseillé mais je ne vois aucune ligne ou Transfer-Encoding: chunk.
    Cependant vers quel solution pour toi il faudrait que je penche?
    Car tu me dit que tu as analysé donc comment empeché un encodage?

    pour rappel voici les deux liens que j'utilise :

    c'est celui qui pose problème => voir mon fichier plus haut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://api.allocine.fr/rest/v3/tvseries?partner=YW5kcm9pZC12M3M&code=223&profile=large
    Lui ca passe nikel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://api.allocine.fr/rest/v3/tvseries?partner=YW5kcm9pZC12M3M&code=223&profile=medium
    Il n'y a que la variable profile qui passe de medium à large c'st bizarre non?

  12. #12
    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
    Citation Envoyé par drogba72 Voir le message
    Alors peut etre que j'ai mal utilisé l'outil que tu m'as conseillé mais je ne vois aucune ligne ou Transfer-Encoding: chunk.
    Je voulais dire chunked.
    Tu as essayé avec quel outil ?
    Moi j'ai pris Firefox avec HTTPLiveHeaders.
    - Par défaut quand je demande le fichier, il me dit qu'il n'a pas changé depuis la dernière fois, et donc de prendre celui que j'ai en cache.
    => Il faut vider le cache entre chaque requête.
    - Là quand je demande le fichier, il me l'envoie compressé (Content-Encoding: gzip) mais pas en chunks. Je suppose qu'il préfère cette solution, et qu'il sait qu'il peut le faire, parce que HTTPLiveHeaders m'indique que Firefox annonce dans ses headers qu'il gère le gzip.
    => J'utilise Modify Headers pour interdire à Firefox de dire qu'il gère le gzip.
    - Là quand je demande le fichier, il me l'envoie en chunks (Transfer-Encoding: chunked)
    => Preuve faite.

    Citation Envoyé par drogba72 Voir le message
    Cependant vers quel solution pour toi il faudrait que je penche?
    Je ne sais même pas quelle technologie tu utilises pour appeler cette API. Ce qu'il faut c'est faire en sorte qu'elle gère Transfer-Encoding: chunked... Ou bien te taper le décodage toi-même.

    Ou alors s'assurer que cette techno sait gérer le Content-Encoding: gzip, et appeler l'API en indiquant Accept-Encoding: gzip.

    Citation Envoyé par drogba72 Voir le message
    Car tu me dit que tu as analysé donc comment empeché un encodage?
    Je ne vois pas pourquoi allocine accepterait de ne pas encoder ses réponses.

    Citation Envoyé par drogba72 Voir le message
    pour rappel voici les deux liens que j'utilise :

    c'est celui qui pose problème => voir mon fichier plus haut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://api.allocine.fr/rest/v3/tvseries?partner=YW5kcm9pZC12M3M&code=223&profile=large
    Lui ca passe nikel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://api.allocine.fr/rest/v3/tvseries?partner=YW5kcm9pZC12M3M&code=223&profile=medium
    Il n'y a que la variable profile qui passe de medium à large c'st bizarre non?
    Bah non. C'est pas franchement la même taille en large ou en medium.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    Je voulais dire chunked.
    Tu as essayé avec quel outil ?
    Moi j'ai pris Firefox avec HTTPLiveHeaders.
    - Par défaut quand je demande le fichier, il me dit qu'il n'a pas changé depuis la dernière fois, et donc de prendre celui que j'ai en cache.
    => Il faut vider le cache entre chaque requête.
    - Là quand je demande le fichier, il me l'envoie compressé (Content-Encoding: gzip) mais pas en chunks. Je suppose qu'il préfère cette solution, et qu'il sait qu'il peut le faire, parce que HTTPLiveHeaders m'indique que Firefox annonce dans ses headers qu'il gère le gzip.
    => J'utilise Modify Headers pour interdire à Firefox de dire qu'il gère le gzip.
    - Là quand je demande le fichier, il me l'envoie en chunks (Transfer-Encoding: chunked)
    => Preuve faite.
    OK

    Je ne sais même pas quelle technologie tu utilises pour appeler cette API.
    Je développe en Windev

    Ce qu'il faut c'est faire en sorte qu'elle gère Transfer-Encoding: chunked... Ou bien te taper le décodage toi-même.

    Ou alors s'assurer que cette techno sait gérer le Content-Encoding: gzip, et appeler l'API en indiquant Accept-Encoding: gzip.
    Je vais me renseigner pour voir si windev le gère, par contre pour un décodage moi même la seule question qui me vient c'est :
    Par où je commence lol

  14. #14
    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
    Citation Envoyé par drogba72 Voir le message
    Par où je commence lol
    Transfer-Encoding: chunked est très simple.
    L'article Wikipédia explique tout bien comment ça marche, il y a plus qu'à faire comme indiqué.

    Après, moi Windev je sais même pas ce que c'est, je sais pas comment on programme avec.

    On notera au passage que tout cela n'a rien à voir avec XML mais avec HTTP, et qu'il est peut-être temps d'aller demander aux windeviens comment Windev gère HTTP en tant que client.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    J'aurais une dernière question auriez vous une version francaise de la page wikipedia svp.?

    Hélas les windeviens je pense qu'il n'en connaisse pas plus que moi sur ce sujet pour preuve : une 60aine de regards mais aucune réponse...

    http://www.developpez.net/forums/d11...n-fichier-xml/

    Mais bon maintenant que je sais ce que c'est au moins je vais pouvoir faire d'autre recherche.
    Grace à vous et donc un grand merci

  16. #16
    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
    Citation Envoyé par drogba72 Voir le message
    J'aurais une dernière question auriez vous une version francaise de la page wikipedia svp.?
    ...

    Dans la colonne de gauche, plutôt en bas, là où se trouvent toujours les articles en autres langues de Wikipédia.

    Hé, appeler des webservices automatiquement ça commence à être la cour des grands, hein. Il faut commencer à avoir moins peur de programmer, moins peur du grand méchant anglais, moins peur de chercher soi-même d'autres tutoriels parlant des mêmes choses.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  17. #17
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    En fait si j'ai poser la question ce n'est pas pour éviter de faire une recherche sur le net seul mais plus pour etre sur d'avoir les memes informations que sur le premier lien que rien ne manque enfin bref merci beaucoup pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 29
    Dernier message: 17/09/2007, 10h29
  2. [XML] Erreur d'analyse XML : mal formé
    Par kespan dans le forum Valider
    Réponses: 2
    Dernier message: 15/01/2007, 18h57
  3. Erreur d'analyse XML : mal formé
    Par arsenik7 dans le forum Valider
    Réponses: 2
    Dernier message: 16/11/2006, 10h40
  4. [SQL] Erreur d'analyse XML : mal formé
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/08/2006, 09h10
  5. Erreur d'analyse XML : entité non définie
    Par ToxiZz dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 16/01/2006, 13h22

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