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 :

Unmarshal erreur de validation incohérente par rapport au schéma


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut Unmarshal erreur de validation incohérente par rapport au schéma
    Bonjour à tous,

    Je rencontre le pb suivant :
    - sur mon poste de développement (windows XP, serveur tomcat 6), une opération de désérialisation d'un message XML via JAXB se déroule sans souci
    - sur l'environnement de développement (linux, serveur websphere 8), la même opération échoue.
    J'ai forcé l'affichage des erreurs de validation ainsi que la génération du schéma (contexte JAXB) sur lequel se base la validation et je n'arrive pas expliquer l'erreur de validation rencontrée.
    L'erreur en question indique qu'un élément elmt1 sur le namespace ns1 est rencontré, alors que l'élément attendu est elmt1 sur le namespace ns2.
    Pourtant en vérifiant (et revérifiant) les XSDs générés issus du context JAXB, elmt1 est bien défini sur le namespace ns1.

    Est-ce que quelqu'un a déjà rencontré ce type d'anomalie et saurait dans l'idéal me dire ce qui ne va pas, ou au moins me guider pour tenter de trouver ce qui pose problème ?

    Le code utilisé pour généré les XSD avant la désérialisation est issu du lien suivant :lien

    En vous remerciant par avance !

    Julien

  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
    Un truc qui nous est déjà arrivé d'un OS à l'autre, c'est une erreur d'encodage due à une différence d'encodage par défaut.

    Dans le cas présent, ce serait un caractère non-ASCII dans l'URI du namespace, ce qui serait tout de même assez surprenant.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    Merci Thelvin pour ta réponse.

    C'est une piste que j'avais en tête, cependant comment le vérifier ? Il n'y a pas de caractère accentué dans les namespaces, pas de caractère bizarre sur l'une ou l'autre plateforme... Pour d'autres échanges XML, le problème ne se pose pas.
    Pour être plus précis sur la différence entre les 2 namespaces, le bon namespace ns1 est du type http://monnamespace/qqch/qqchautre et le second namespace ns2 est http://monnamespace.
    S'il s'agissait d'un problème d'encodage, je suppose que les namespaces seraient identiques au(x) caractère(s) posant problème prêt...
    Autre supposition, ns2 est le namespace de l'élément parent à celui qui est rejeté, mais là encore, je ne vois pas d'explication à l'utilisation de ns2 plutôt que ns1, d'autant plus que le context JAXB est conforme...

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/05/2015, 12h21
  2. Erreur de Validation SQL par un calcul.
    Par momosan77 dans le forum C#
    Réponses: 1
    Dernier message: 23/05/2011, 07h56
  3. Réponses: 4
    Dernier message: 03/07/2008, 19h55
  4. [MySQL] erreur de syntaxe par rapport au "argument is not a valid MySQL result resource" ?
    Par toto007 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/06/2008, 23h08
  5. [DOM] Problème de validation XML par rapport à un Schéma XSD
    Par apisto dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 20/09/2006, 15h32

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