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 :

Erreur lors de la génération de WSDL: BeanSerializer cannot be cast to Serializer


Sujet :

Services Web Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 59
    Points : 63
    Points
    63
    Par défaut Erreur lors de la génération de WSDL: BeanSerializer cannot be cast to Serializer
    Bonjour,
    Je travaille actuellement sur un EAR développé à l’origine pour des web services entre une application CRM (Siebel) et d’autres systèmes.
    L’EAR est maintenu sous Eclipse, et est déployé sous Jboss 4.0.4 et Axis 1.4, ce n’est pas récent mais je n’ai pas la main à ce niveau…

    Mon problème survient lorsque je tente de générer l’EAR sous Eclipse au niveau de la création du WSDL avec l’erreur suivante :
    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
     
    IWAB0398E Error in generating WSDL from Java:  java.lang.ClassCastException: org.apache.axis.encoding.ser.BeanSerializer cannot be cast to org.apache.axis.encoding.Serializer
        java.lang.ClassCastException: org.apache.axis.encoding.ser.BeanSerializer cannot be cast to org.apache.axis.encoding.Serializer
        at org.apache.axis.encoding.ser.BaseSerializerFactory.getSpecialized(BaseSerializerFactory.java:165)
        at org.apache.axis.encoding.ser.BaseSerializerFactory.getSerializerAsInternal(BaseSerializerFactory.java:91)
        at org.apache.axis.encoding.ser.BaseSerializerFactory.getSerializerAs(BaseSerializerFactory.java:82)
        at org.apache.axis.encoding.ser.BeanSerializerFactory.getSerializerAs(BeanSerializerFactory.java:64)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1838)
        at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:421)
        at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:612)
        at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1680)
        at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1467)
        at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1106)
        at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1075)
        at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:484)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:331)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:430)
        at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:243)
        at org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand.executeAntTask(Java2WSDLCommand.java:180)
        at org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand.execute(Java2WSDLCommand.java:95)
        at org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation$BottomUpWSModifyOperation.execute(BUCodeGenOperation.java:122)
        at org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation.execute(BUCodeGenOperation.java:86)
    Pour générer les class de l’EAR je prends simplement le WSDL du système CRM que j’utilise avec le WSDL2Java d’Axis.
    Jusqu’à maintenant je n’avais pas de problème car les services web existants ou nouveaux n’avaient en entrée ou sortie que le type String, donc utilisant le type standard String de Java. J’ai donc procédé ainsi à de multiples reprises avec succès.
    Là, je développe un service web qui prend en entrée un objet, avec une occurrence non fixe, 1 ou plus. Donc je n’utilise plus des types simples, il faut absolument qu'ils soient « sérialisables », ce que la génération des class via WSDL2Java à fait.

    En pj les 3 class qui correspondent à mon objet complexe, que les autre méthodes de l'EAR utilisent comme dans cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public java.lang.String majDonneesPersoFoyerV2(java.lang.String sId, com.TOTO.client.bean.xml.DonneesPersoFoyerV2XMLIO.ListDonneesPersoFoyerV2TopElmt sXML)
    Avez-vous déjà rencontré ce problème ? Y a-t-il une manipulation particulière à faire pour contourner ce problème ? Dois-je adapter la partie sérialisable et si oui avez-vous des exemple/cours ?

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 20
    Dernier message: 18/01/2011, 13h47
  2. Une erreur lors de la génération du wsdl sous eclipse
    Par amalamal dans le forum Services Web
    Réponses: 0
    Dernier message: 09/04/2009, 12h49
  3. Réponses: 7
    Dernier message: 02/08/2006, 09h54

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