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 :

[Jax-WS] probleme lors de la récupération d'un type complexe


Sujet :

Services Web Java

  1. #1
    Membre éclairé Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Par défaut [Jax-WS] probleme lors de la récupération d'un type complexe
    bonjour,

    j'utilise JAX-WS pour les web services et ça marche bien pour les opérations qui retournent des types simples( String,int,...) mais des que je veux récupérer un type complexe que j'ai défini,j'obties l'exception :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
     - with linked exception:
    [javax.xml.bind.JAXBException: class com.cit.IF.kernel.IFMessage nor any of its super class is known to this context.]
    	at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:322)
    	at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:142)
    	at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:108)
    	at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:258)
    	at com.sun.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:320)
    	at com.sun.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:93)
    	at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:454)
    	at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
    	at com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:106)
    	at com.sun.xml.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:91)
    	at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65)
    	at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65)
    	at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68)
    	at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:575)
    	at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65)
    	at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:547)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    	at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.xml.bind.MarshalException
     - with linked exception:
    [javax.xml.bind.JAXBException: class com.cit.IF.kernel.IFMessage nor any of its super class is known to this context.]
    	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:282)
    	at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:100)
    	at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:141)
    	at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:315)
    	... 18 more
    Caused by: javax.xml.bind.JAXBException: class com.cit.IF.kernel.IFMessage nor any of its super class is known to this context.
    	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
    	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
    	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
    	at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65)
    	at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168)
    	at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152)
    	at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
    	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
    	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:277)
    	... 21 more
    Caused by: javax.xml.bind.JAXBException: class com.cit.IF.kernel.IFMessage nor any of its super class is known to this context.
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
    	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
    	... 27 more
    avez vous une idée pour résoudre ce probleme?

    merci pour l'aide.

  2. #2
    oca
    oca est déconnecté
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Par défaut
    Hello, tu utilises quelle implementation ? (JBoss, SUN, CXF ... ) ?

  3. #3
    Membre éclairé Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Par défaut
    Bonjour,merci pour la réponse.

    J'utilise l'implementation de SUN :
    Specification Version: 2.1
    Implementation Version: 2.1.3

  4. #4
    oca
    oca est déconnecté
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Par défaut
    tu as bien utilisé "wsimport" pour générer tes classes depuis la wsdl ?

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Par défaut
    Bonjour, je débute dans le web service et j'ai le même problème en utilisant Netbeans. Dans l'aide de netbeans ils préconisent un bout de code pour "Marshalling Java Classes to XML Elements" :

    try {
    javax.xml.bind.JAXBContext jaxbCtx= javax.xml.bind.JAXBContext.newInstance( Object.class.getClass().getPackage().getName());
    javax.xml.bind.Marshaller marshaller = jaxbCtx.createMarshaller();
    marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_ENCODING, "UTF-8"); //NOI18N
    marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
    marshaller.marshal(Object.class , System.out);
    } catch (javax.xml.bind.JAXBException ex) {
    // XXXTODO Handle exception
    java.util.logging.Logger.getLogger("global").log(java.util.logging.Level.SEVERE, null, ex); //NOI18N
    }

    Le problème c'est que je ne vois pas trop où il faut que je s'insère ce code. et je ne comprends pas vraiment ce qu'il fait non plus.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/03/2010, 18h38
  2. Réponses: 2
    Dernier message: 20/11/2008, 21h11
  3. [MYSQL] Probleme lors de la compilation
    Par Nasky dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 24/02/2004, 17h04
  4. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  5. problem lors de l'ecriture d'un fichier
    Par gemai dans le forum C
    Réponses: 20
    Dernier message: 29/08/2003, 15h01

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