Voici ce que j'essaie de faire: nous passons à JAXB et à Jersey pour tous nos services REST et nos besoins de sérialisation XML/JSON.Déploiement de la servlet compatible Jersey sur Tomcat: Exceptions
Jusqu'ici, j'ai pu obtenir un test simple où certains beans sont annotés, certains objets de test créés et ceux-ci sont parfaitement sérialisés en XML ou en JSON et retournés au client sur demande. J'ai surtout écrit ceci en me basant sur certains exemples sur Internet, où un serveur HTTPS est créé et démarré dans la méthode principale.
J'essaie maintenant de mettre ce même exemple dans un fichier WAR et de le déployer sur mon serveur Tomcat local pour que je puisse le tester dans un environnement plus proche de la production. Voyant que je n'étais pas en mesure de le faire fonctionner sur Tomcat 5.5.27 en suivant les instructions here je suis allé de l'avant et mis à niveau vers Tomcat 6.0. Mêmes instructions, même résultat, une énorme InvocationTargetException.
Qu'est-ce qui me manque exactement, les gars?
INFO: Scanning for root resource and provider classes in the paths:
/Library/Tomcat/Home/webapps/user/WEB-INF/lib
/Library/Tomcat/Home/webapps/user/WEB-INF/classes
Sep 9, 2009 7:22:32 PM com.sun.jersey.api.core.ClasspathResourceConfig init
INFO: Root resource classes found:
class example.HelloWorld
Sep 9, 2009 7:22:32 PM com.sun.jersey.api.core.ClasspathResourceConfig init
INFO: Provider classes found:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.jersey.impl.application.WebApplicationImpl$DefaultComponentProvider.getInstance(WebApplicationImpl.java:437)
at com.sun.jersey.impl.application.ComponentProviderCache.getComponent(ComponentProviderCache.java:187)
at com.sun.jersey.impl.application.ComponentProviderCache.getProvidersAndServices(ComponentProviderCache.java:122)
at com.sun.jersey.impl.application.InjectableProviderFactory.configure(InjectableProviderFactory.java:113)
at com.sun.jersey.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:582)
at com.sun.jersey.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:487)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:622)
at com.sun.jersey.spi.container.servlet.ServletContainer.load(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:197)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4149)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458)
Cela fait partie du spinw ginormous dans catalina.out.
De plus, voici mon web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>ServletAdaptor</servlet-name>
<servlet-class>com.sun.jersey.impl.container.servlet.ServletAdaptor</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletAdaptor</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Toute aide à ce serait grandement apprécié! Merci d'avance.
L'exception InvocationTargetException doit être en train d'encapsuler l'exception de cause première, nous devons le voir. – skaffman
Voici le tout: http://txtb.in/4wT –
J'ai aussi essayé un nouveau web.xml, en vain: http://codepad.org/mcolfNt5 –