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

Services Web Java Discussion :

[Axis] LinkageError class


Sujet :

Services Web Java

  1. #1
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut [Axis] LinkageError class
    Bonjour,

    J'ai actuellement un gros soucis sur le web service que j'essaie de mettre en place. Compilation, packaging, configuration, déploiement et démarrage se font avec AMF et je n'ai pas de souci de ce coté là.
    Mon web service démarre correctement et est accessible via la bonne url... ou presque.

    Lorsque je tente de requêter mon WS via le navigateur, voici les traces que j'obtiens (désolé je suis surfcontrolé au boulot et je peux pas uploader ma capture d'écran :/) :
    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
    AXIS error
    Sorry, something seems to have gone wrong... here are the details:
    
    Exception - java.lang.LinkageError: LinkageError while defining class: org.*.*.*.*.MonService
    Could not be defined due to: org/*/*/*/*/MonService (Unsupported major.minor version 49.0)
    This is often caused by having a class defined at multiple
    locations within the classloader hierarchy.  Other potential causes
    include compiling against an older or newer version of the class
    that has an incompatible method signature.
    Dumping the current context classloader hierarchy:
        ==> indicates defining classloader
       [0] 
    com.ibm.ws.classloader.CompoundClassLoader@319e2b60
       Local ClassPath: /work/MonService/MonService_EAR.ear/MonService-1.0.0.war/WEB-INF/classes:/work/MonService/MonService_EAR.ear/MonService-1.0.0.war/WEB-INF/lib/MaLib_1.1.0.jar:/work/MonService/MonService_EAR.ear/MonService-1.0.0.war
       Delegation Mode: PARENT_FIRST
    ==>[1] com.ibm.ws.classloader.JarClassLoader@830794592 Local Classpath: /work/MonService/MonService_EAR.ear/lib/activation.jar:/work/MonService/MonService_EAR.ear/lib/MaLib.jar:...
    Delegation mode: PARENT_FIRST
       [2] 
    com.ibm.ws.classloader.ExtJarClassLoader@2cd3ab61
       Local ClassPath: /usr/WebSphere/AppServer/lib/app
       Delegation Mode: PARENT_LAST
       [3] com.ibm.ws.classloader.ProtectionClassLoader@6f702b61
       [4] com.ibm.ws.bootstrap.ExtClassLoader@6759eb61
       [5] sun.misc.Launcher$AppClassLoader@674eab61
       [6] sun.misc.Launcher$ExtClassLoader@674aab61
    ---Original exception---
    java.lang.UnsupportedClassVersionError: org/*/*/*/*/MonService (Unsupported major.minor version 49.0)
    	at java.lang.ClassLoader.defineClass0(Native Method)
    1- De ce que j'en comprends il y a une interférence entre deux versions de mes classes java compilées ?

    Voici l'arborescance de mon application une fois déployée :
    -+ /work/Mon_Appli/
    ----------- app/MonAppli.ear
    ----------+ MonAppli_EAR/
    ---------------+ META-INF/
    ---------------------- MANIFEST.MF (sans libpath)
    ---------------------- application.xml
    ---------------------- was.policy
    ---------------------- ibm-application-bnd.xmi
    ---------------------- ibm-application-ext.xmi
    ---------------+ lib/ (contient toutes les librairies externes + celle de l'appli)
    ---------------+ MonAppli_WAR/
    --------------------+ META-INF (manifest uniquement avec libpath "/lib/...")
    --------------------+ WEB-INF/
    ------------------------- web.xml
    ------------------------- server-config.wsdd
    ------------------------- ibm-web-bnd.xmi
    ------------------------- ibm-web-ext.xmi
    ------------------------+ lib/ (idem que l'autre lib plus haut)

    Voilà, j'aimerai savoir si l'un de vous a déjà rencontré ce type de problème, et s'il en a trouvé une solution.

    En vous remerciant d'avance pour votre aide

    Cordialement.

  2. #2
    Membre expérimenté Avatar de sewatech
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Par défaut
    C'est probablement un problème de compatibilité entre la version du JDK utilisé en développement et la version de la JRE utilisée à l'exécution.

  3. #3
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut
    Effectivement j'ai également pensé à ça (spécifié dans le message d'ailleurs)

    Il se trouve que le serveur sur lequel je dois installer mon web service (sous websphere 5) ne possède que le JDK 1.4 pour compiler, par contre websphere tourne sous 1.5.
    Or mon web service utilise certaine techno accessible qu'à partir de la version 1.5. J'ai donc compilé les sources sur mon PC de dev et mise le jar correspondant en librairie externe via mon CVS afin de le récupérer lors de l'intallation sur le serveur.

    D'après toi donc cela viendrai du fait que les version 1.5 ne sont pas les mêmes entre mon pc (compilation) et le serveur (exécution). Je vais essayer de regarder ça de plus prêt alors, je te remercie pour le tuyau.

  4. #4
    Membre expérimenté Avatar de sewatech
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Par défaut
    Je constate que tes jar sont présents à la fois dans l'ear et dans le war. Je ne pense pas que ce soit utile, voire cela peut être dangereux.

    La trace parle d'un MaLib_1.1.0.jar dans le war et d'un MaLib.jar dans l'ear. En plus, tu es en parent first. Est-ce que MaLib.jar ne serait pas une ancienne version de ta librairie ?

  5. #5
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut
    La différence entre les deux noms provient juste d'une erreur de recopie, pas d'inquiétude donc sur la version c'est bien la même pour les deux librairies.

    C'est vrai que mes librairies sont à la fois contenues dans le war et recopiées pour l'ear, mais j'ai pris modèle sur une autre application web existante et qui fonctionne, je ne pensais donc pas que cela pouvait interférer.
    Je fais faire quelque modification au niveau du build de ma delivery et voir ce que cela change.

    Edit : Comme il ne s'agit pas de mon serveur et que je n'y ai que des droits restreints, j'ai redemandé les version de JRE installé et il se trouve que j'avais mal compris. Websphere tourne en version 1.4 et JBoss en version 1.5.
    Comme je n'utilise que Websphere, il faudrait donc que je compile mes sources en 1.4 et non 1.5, ce qui change pas mal de chose puisqu'il va falloir que je change les versions de mes librairies JAXB, etc. :/

    En tout cas merci bien pour ton aide

  6. #6
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut
    Double post c'est le mal je sais.

    Juste pour signaler que l'erreur venait bien d'une différence entre les version de JRE.
    J'ai remanier mon code pour qu'il soit compatible 1.4 et mis à jour les librairies JAXB en version 1 et le web service fonctionne impeccablement.

    Merci encore pour ton aide sewatech

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

Discussions similaires

  1. Génération de classes avec Axis 1.4 et plusieurs WSDL
    Par zulot dans le forum Services Web
    Réponses: 0
    Dernier message: 26/11/2012, 14h31
  2. Axis vs CXF => inner classes ?
    Par BigFoot69 dans le forum Services Web
    Réponses: 3
    Dernier message: 09/06/2011, 16h21
  3. [AXIS][WSDL2Java] Classe non trouvée NoClassDefFoundError
    Par Nexussmb dans le forum Services Web
    Réponses: 7
    Dernier message: 05/07/2010, 18h19
  4. [AXIS] Unable to find required classes
    Par DrTank dans le forum Services Web
    Réponses: 0
    Dernier message: 31/03/2010, 10h01
  5. [WSDL][Axis] Récupération de valeur dans des classes java
    Par cosmos38240 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/01/2006, 17h38

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