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

REST Discussion :

erreur Tomcat lors de l'appel du dispatcher (Jersey)


Sujet :

REST

  1. #1
    Membre averti
    Profil pro
    Technical Lead
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Lead

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut erreur Tomcat lors de l'appel du dispatcher (Jersey)
    Bonjour,

    J'apprends actuellement à déployer un web service Restful et je bute sur la configuration de Tomcat. Je m'aide d'un tuto (http://www.vogella.com/articles/REST/article.html).

    Voici la classe Hello qui implémente le web service :

    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
    package de.vogella.jersey.first;
    
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;
    
    //url de base
    @Path("/hello")
    public class Hello {
    
    	// reponse texte
    	@GET
    	@Produces(MediaType.TEXT_PLAIN)
    	public String sayPlainTextHello() {
    		return "Hello Jersey";
    	}
    
    	// reponse xml
    	@GET
    	@Produces(MediaType.TEXT_XML)
    	public String sayXMLHello() {
    		return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
    	}
    
    	// reponse HTML
    	@GET
    	@Produces(MediaType.TEXT_HTML)
    	public String sayHtmlHello() {
    		return "<html> " + "<title>" + "Hello Jersey" + "</title>"
    				+ "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> ";
    	}
    
    }
    et voilà l'erreur que je reçois :

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    23 avr. 2012 16:30:31 org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_26\bin;C:\WINNT\Sun\Java\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32;C:\WINNT;C:\Progra~1\oracle\ora920\bin;C:\Program Files\oracle\jre\1.1.8\bin;C:\WINNT\System32\Wbem;C:\Program Files\Windows Imaging\;C:\Program Files\oracle\orant8173\jre\1.1.7\bin\;C:\Program Files\oracle\orant8173\bin\;C:\Program Files\Microsoft Application Virtualization Client;P:\Program Files\tortoiseSVN\bin;C:\Program Files\QuickTime\QTSystem\;P:\ENV-DEV\maven-2.0.11\bin;.
    23 avr. 2012 16:30:31 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:jersey.first' did not find a matching property.
    23 avr. 2012 16:30:31 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:de.vogella.jersey.first' did not find a matching property.
    23 avr. 2012 16:30:31 org.apache.coyote.http11.Http11Protocol init
    INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
    23 avr. 2012 16:30:31 org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 387 ms
    23 avr. 2012 16:30:31 org.apache.catalina.core.StandardService start
    INFO: Démarrage du service Catalina
    23 avr. 2012 16:30:31 org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
    23 avr. 2012 16:30:32 org.apache.catalina.core.ApplicationContext log
    INFO: La servlet Jersey REST Service est marqué comme indisponible
    23 avr. 2012 16:30:32 org.apache.catalina.core.ApplicationContext log
    GRAVE: Error loading WebappClassLoader
      context: /de.vogella.jersey.first
      delegate: false
      repositories:
        /WEB-INF/classes/
    ----------> Parent Classloader:
    org.apache.catalina.loader.StandardClassLoader@1b90b39
     com.sun.jersey.spi.container.servlet.ServletContainer
    java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
    	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
    	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    23 avr. 2012 16:30:32 org.apache.catalina.core.StandardContext loadOnStartup
    GRAVE: La servlet /de.vogella.jersey.first a généré une exception "load()"
    java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
    	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
    	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    J'utilise maven pour le chargement des dépendances. J'ai tenté de recréer un projet en définissant clairement mon source folder - j'ai vu sur certains sites que ça pouvait être une erreur de chargement du package [jersey ou le mien] - mais je n'ai vraiment aucune idée de ce qui se passe...

    please help

    merci

  2. #2
    Membre averti
    Profil pro
    Technical Lead
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Lead

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut test hors maven ok
    je viens de tester ce projet en le déployant sans utiliser Maven, en incluant simplement les jars jersey (server, core, bundle, asm) dans le répertoire WEB-INF/lib et tout fonctionne...mais je tiens tout de même à intégrer maven car je l'utilise au boulot.
    j'ai rajouté la dépendance maven jersey-bundle dans mon pom.xml mais là je reçois un autre type 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
    
    exception 
    
    javax.servlet.ServletException: "Servlet.init()" pour la servlet Jersey REST Service a généré une exception
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    	java.lang.Thread.run(Thread.java:662)
    
    
    cause mère 
    
    com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
    	com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99)
    	com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1308)
    	com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:171)
    	com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:777)
    	com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:773)
    	com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    	com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:773)
    	com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:768)
    	com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488)
    	com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    	com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:607)
    	com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)
    	com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    	com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    	javax.servlet.GenericServlet.init(GenericServlet.java:212)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    	java.lang.Thread.run(Thread.java:662)
    Please, someone could help me ??!

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 59
    Par défaut
    Bonjour,

    as-tu rajouté la configuration de la Servlet sur le web.xml ? si oui, peux tu nous montrer ton Web.xml. Merci

Discussions similaires

  1. Erreur 401 lors de l'appel à EWS avec axis en SSL
    Par xdescamp dans le forum Services Web
    Réponses: 3
    Dernier message: 21/06/2011, 08h18
  2. [wss3] Erreur 401 lors de l'appel du web service en c#
    Par nosdo dans le forum Développement Sharepoint
    Réponses: 10
    Dernier message: 06/07/2010, 15h09
  3. Réponses: 6
    Dernier message: 16/11/2009, 08h58
  4. erreur SOAPFaultBuilder lors de l'appel d'un ws
    Par AMINIS dans le forum Services Web
    Réponses: 0
    Dernier message: 13/05/2009, 10h10
  5. Erreur 404 lors de l'appel d'un web service
    Par niouma dans le forum Services Web
    Réponses: 1
    Dernier message: 03/05/2009, 01h36

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