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

Java EE Discussion :

Service REST et JSON qui envoie le message d'erreur MessageBodyWriter


Sujet :

Java EE

  1. #1
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut Service REST et JSON qui envoie le message d'erreur MessageBodyWriter
    Bonjour A tous

    je suis sous GlassFish Server4.1 et j'ai des service REST qui le message suivant quand en fait appel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Severe:   MessageBodyWriter not found for media type=application/json, type=class java.util.ArrayList, genericType=java.util.List<java.lang.String>.
    Exemple de code d'un des service REST qui me donnes le message d'erreur
    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
     
    @javax.transaction.Transactional
    @javax.enterprise.context.RequestScoped
    @Path("/Mesure")
    public class FuzzyBean implements Serializable {
     
        @Inject
        private NewJavalyzer newJavalyzer;
     
        @GET
        @Path("/NewJavalizer/{sprqlVar}/{sprqlVar2}")
        @Produces(MediaType.APPLICATION_JSON)
        public List<String> newJavalizer(@PathParam("sprqlVar") String sprqlVar, @PathParam("sprqlVar2") String sprqlVar2) {
            try {
                return newJavalyzer.NewJavalizer(sprqlVar, sprqlVar2);
            } catch (Exception e) {
                CommunService.loggeur(FuzzyBean.class, "Message erreur => Methode newJavalizer : ", e);
            }
            return null;
        }
    }
    J'ai cherché sur le net pour faire quelque test, mais rien ne fonctionne, y a t'il quel que chose que j'ai malle fait ? Merci de donnes des possibles explications.

  2. #2
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Bonjour a tous, y a t'il une personne qui puisse me débloquer de cette situation

    Merci, toute suggestion sera le bienvenu.

    Aussi voila le contenu de mon Headers si ça peu aidé :
    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
    Remote Address:127.0.0.1:8888
    Request URL:http://localhost:8888/projetdate/Service/Mesure/NewJavalizer/httpqqq3Aqqq2Fqqq2Fhydroquebec.qc.caqqq2Fdatestqqq23MIDATDEVqqq2FTRANSFORMATEUR_XFO_EVA_82557/1?_dc=1421265544588&page=1&start=0&limit=25
    Request Method:GET
    Status Code:500 Internal Server Error
    Request Headers
    Accept:*/*
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:en-US,en;q=0.8
    Connection:keep-alive
    Cookie:JSESSIONID=9f6c23a145e6a9d32f928f96a921
    Host:localhost:8888
    Referer:http://localhost:8888/index.html?lang=fr_CA
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
    X-Requested-With:XMLHttpRequest
    Query String Parameters
    _dc:1421265544588
    page:1
    start:0
    limit:25
    Response Headers
    Connection:close
    Content-Type:application/xhtml+xml;charset=UTF-8
    Date:Wed, 14 Jan 2015 20:12:10 GMT
    Server:GlassFish Server Open Source Edition  4.1
    Transfer-Encoding:chunked
    X-Powered-By:Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition  4.1  Java/Oracle Corporation/1.7)

  3. #3
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Finalement il faut ajouter la dépendances :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
                <version>1.9.13</version>
    </dependency>
    puis suite a 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    java.lang.NoClassDefFoundError: org/codehaus/jackson/xc/JaxbAnnotationIntrospector
    	at org.codehaus.jackson.jaxrs.MapperConfigurator._resolveIntrospector(MapperConfigurator.java:171)
    	at org.codehaus.jackson.jaxrs.MapperConfigurator._resolveIntrospectors(MapperConfigurator.java:146)
    	at org.codehaus.jackson.jaxrs.MapperConfigurator._setAnnotations(MapperConfigurator.java:133)
    	at org.codehaus.jackson.jaxrs.MapperConfigurator.getDefaultMapper(MapperConfigurator.java:70)
    	at org.codehaus.jackson.jaxrs.JacksonJsonProvider.locateMapper(JacksonJsonProvider.java:649)
    	at org.codehaus.jackson.jaxrs.JacksonJsonProvider.writeTo(JacksonJsonProvider.java:501)
    	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.writeTo(JAXRSOutInterceptor.java:297)
    	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:257)
    	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:145)
    	at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:83)
    	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:81)
    	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:240)
    	at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.onMessage(CxfRsHttpListener.java:187)
    	at org.apache.openejb.server.rest.RsServlet.service(RsServlet.java:53)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    	at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:122)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
    	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    	at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:171)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.xc.JaxbAnnotationIntrospector
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    	at org.apache.tomee.catalina.LazyStopWebappClassLoader.loadClass(LazyStopWebappClassLoader.java:129)
    	... 41 more
    Jan 15, 2015 10:56:12 AM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor writeResponseErrorMessage
    WARNING: Error serializing the response, please check the server logs, response class : Graphe.
    J'ai ajouté aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
                <version>1.9.13</version>
            </dependency>
    Puis comme ça fonction avec tout les serveur JEE

  4. #4
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Ma question est pourquoi ou qui veux utilisé du : JaxbAnnotationIntrospector avec du JAXB ? Puis dans mon application je n'utilise que du JSON !!! Idéalement je voudrais éviter toute dépendance de ce type ?

    Comme faire. Merci

  5. #5
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 42
    Points : 96
    Points
    96
    Par défaut
    Si tu utilises Maven, voila ce que je ferais en pareil cas :
    1) déterminer dans quel jar exact est pris JaxbAnnotationIntrospector
    2) déterminer quel jar nécessite celui-ci avec mvn dependency:tree
    3) regarder s'il y a de la doc pour ce jar et s'il est possible d'exclure cette dépendence

    Ceci n'est qu'une piste de recherche et sans doute pas une solution mais je n'ai rien de mieux en magazin pour le moment... ;-)
    Bon courage à toi, et à bientôt, si j'ai une autre idée ^^

Discussions similaires

  1. Application qui quitte sans message d'erreur
    Par Pouknouki dans le forum VB.NET
    Réponses: 13
    Dernier message: 22/11/2013, 16h37
  2. Réponses: 7
    Dernier message: 10/12/2012, 01h20
  3. envoi de messages d'erreur via l'as400 par mail
    Par angelo k dans le forum AS/400
    Réponses: 1
    Dernier message: 20/09/2010, 08h21
  4. Réponses: 11
    Dernier message: 01/11/2009, 20h15
  5. Messages Privés : reste en boite d'envoi ? Pourquoi ?
    Par Perceval dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 20/09/2005, 17h52

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