Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1423 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Axis2 et parser XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Axis2 et parser XML

n°1942052
chichos
Posté le 18-11-2009 à 17:14:47  profilanswer
 

Bonjour,
 
j'ai développé des classes Java qui manipule du xml via xmlbeans 2.3 ; ce dernier utilise saxon8 pour faire des expression xpath.
Lorsque je lance l'application en mode standalone, tout se passe bien, aucune erreur.
 
J'ai packagé ces classes pour être accessibles via des services web et ai donc mis Axis2 en frontal. L'appel à mon service web se passe bien, mais lorsque mes classes Java utilisent xmlbeans et surtout saxon8 pour des expressions xpath, j'ai les erreurs suivantes :
 
"Trying XBeans path engine... Trying XQRL... Trying Saxon... FAILED" . Il s'agit d'une erreur typique (c'est la même erreur lorsqu'on utilise la mauvaise version de saxon par exemple) lorsque xmlbeans n'utilise pas le bon parser sax. Ce qui me laisse à penser qu'un autre parser sax se trouve dans le classpath ou tout simplement que mes jar ne sont pas "vus".
 
J'ai donc recopié mes jars de saxon dans tous les répertoires "common/lib - shared / lib / "... de Tomcat, j'ai même mis ces jers dans ma jre mais j'ai toujours le même résultat...  
 
bref, comment utiliser son propre parser XML SAX dans un environnement Tomcat / Axis2 ?
 
ah et impossible de faire System.setProperty("javax.xml.parsers.SAXParserFactory", "org.apache.xerces.jaxp.SAXParserFactoryImpl" ); pour fixer le parser SAX via JAXP, il n'existe pas de classe "SAXParserFactoryImpl" dans saxon !!
 
bref, HELP !
 
Merci

mood
Publicité
Posté le 18-11-2009 à 17:14:47  profilanswer
 

n°1942080
cbeyls
Hail to the King, Baby
Posté le 18-11-2009 à 19:19:49  profilanswer
 

Sans doute un problème de classpath, vérifie que xerces se situe en première position dans la liste de jar de ton classpath. La classe dont tu parles, org.apache.xerces.jaxp.SAXParserFactoryImpl, fait partie de Xerces et se trouve dans son jar. Saxon utilise Xerces comme parseur SAX.


Message édité par cbeyls le 18-11-2009 à 19:24:14
n°1944440
chichos
Posté le 25-11-2009 à 14:05:53  profilanswer
 

Bonjour,
 
le problème est résolu, je poste donc la solution, au cas où ça puisse un jour dépanner qqun...
 
Effectivement, c'est un problème de classpath :
 
Axis2 (mis dans webapps/axis2) utilise ses propres parsers XML pour faires des sérialisation / désérialisation SOAP.
Or, j'ai un service déployé sous axis2 (dans webapps/axis2/services/monService) qui utilise lui aussi des parsers (fonctions xpath de xmlbeans qui lui a besoin de saxon). A l'exécution, les parsers choisis n'étaient plus ceux de la librairie mis dans webapps/axis2/services/monService mais bien ceux d'Axis2.  
 
La solution à mon problème était toute simple, mais impossible à détecter dans les traces :
 
- j'ai mis les librairies xbean.jar, xbean_xpath.jar, saxon9.jar, saxon9_xpath.jar, saxon9-dom.jar et surtout (c'est celle là qui me manquait) jdom.jar !! dans le répertoire lib de axis2 (j'ai donc remonté d'un cran de classpath ces librairies) pour qu'à l'exécution, tout marche parfaitement.
 
Note : Saxon version 9 pour XmlBeans 2.4, sinon, c'est une autre version de XmBeans qu'il faut impérativement utiliser...
 
Attention pour la solution  :o , elle reste très spécifique xmlbeans et ne concerne donc que des applications qui manipulent du XML avec XmlBeans avec une interface axis2 en frontal.
 
A+, les Javaïstes(eux?) d'Hardware et merci pour la réponse  :hello:  
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Axis2 et parser XML

 

Sujets relatifs
[résolu][PHP/XML] lecture de fichier XML en PHPParser une page HTML avec mot de passe
PHP - authentification requise acces à un XML- htpasswd[Java] binding objet JAVA -> XML pour Datasource GWT
php, parser des pages qui commencent par <?Comment choisir un logiciel pour traiter des fichiers XML?
Outils fusion XMLParsing XML JSP/JSTL
Transformer un PHP en XML[XML] probleme de compilation dans libxml2
Plus de sujets relatifs à : Axis2 et parser XML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR