Bonjour,
Voila, après 3 jours à chercher sur la toile sans succès, je me tourne vers vous pour ce qui est je suppose un erreur bête de ma part (je débute avec ces 3 technologies...)
Ma config : Spring - Xfire - Hibernate - Tomcat 5.5.23 - netbeans 5.5
Voici la trace de mon tomcat :
D'ou provient elle ? Aurais-je oublié ou mal configuré quelque chose ? Est ce un problème de version entre mon tomcat et les librairies que j'essaye d'utiliser ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 javax.servlet.ServletException: No adapter for handler [org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping@147e0ba]: Does your handler implement a supported interface like Controller? org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter(DispatcherServlet.java:1026) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:818) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:754) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:399) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:354) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Je débute avec spring et j'avoue que je galère un peu pour comprendre clairement comment manager les fichiers xml et leurs paramètres. J'essaye de m'inspirer des différents tutos que je trouve par ci par la, mais c'est pas évident quand on découvre à la fois spring, Xfire les annotations et hibernate.
Voici mes fichiers de config (du moins ceux qui me semblent impliqués)
web.xml
xfire-servlet.xml
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 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /META-INF/context.xml /WEB-INF/conf/spring/applicationContext*.xml; /WEB-INF/conf/spring/xfire-servlet.xml; classpath:org/codehaus/xfire/spring/xfire.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderServlet </listener-class> </listener> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/conf/spring/xfire-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <resource-ref> <description>Database Connection Pool</description> <res-ref-name>jdbc/catalyseur</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> </web-app>
applicationContext.xml
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 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/> <bean id="xfireServiceTemplate" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true"> <property name="serviceFactory" ref="xfire.serviceFactory" /> <property name="xfire" ref="xfire" /> <property name="style" value="document" /> <property name="use" value="literal" /> </bean> <bean id="jaxbTypeMappingRegistry" class="org.codehaus.xfire.jaxb2.JaxbTypeRegistry" init-method="createDefaultMappings" singleton="true"/> <bean id="webAnnotations" class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations"/> <bean id="handlerMapping" class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping"> <property name="typeMappingRegistry"> <ref bean="xfire.typeMappingRegistry"/> </property> <property name="xfire"> <ref bean="xfire"/> </property> <property name="webAnnotations"> <ref bean="webAnnotations"/> </property> </bean> <!--NOTE : l erreur semble provenir de cette déclaration de bean --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <entry key="/"> <ref bean="handlerMapping"/> </entry> </map> </property> </bean> <bean id="metalWebService" class ="catalyseur.web.ws.impl.MetalWebServiceImpl"/>
J'espère que j'ai été assez clair dans ma question, parce que ca fait maintenant une bonne semaine que j'essaye de publier un webservice avec cette combinaison de technologies et... je me retiens de jeter le portable par la fenêtre
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 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> - <bean id="metalManager" class="catalyseur.service.impl.MetalManagerImpl"> - <property name="metalDAO"> <ref bean="metalDAO" /> </property> </bean> - <bean id="metalWebService" class="catalyseur.web.ws.impl.MetalWebServiceImpl"> - <property name="metalManager"> <ref bean="metalManager" /> </property> </bean> </beans>
Une idée ? Une solution ? Une piste de reflexion ?
merci d'avance pour vos réponses
Partager