2011-06-01 8 views
6

Quando si prova un esempio di servizio Web semplice Hello World con una sola classe annotata @Endpoint, l'endpoint non viene registrato quando si utilizza il Spazio dei nomi <sws:annotation-driven/>.Spring 3 (SWS2): differenza tra <context: componente-scan> e <sws: annotation-driven>

Tuttavia, aggiungendo il solito <context:component-scan>, tutto funziona correttamente, la classe Endpoint è registrata correttamente. Questo vale solo per l'annotazione @Endpoint, tutte le altre annotazioni (@RequestPayload, @ResponsePayload, @PayloadRoot) verranno registrate dal namespace sws come previsto.

L'annotazione @Endpoint non deve essere elaborata da questo spazio dei nomi?

<beans> 
    <!-- works for all annotations except @Endpoint --> 
    <sws:annotation-driven/> 

    <!-- when activated, @Endpoint is registered correctly <context:component-scan/> --> 
</beans> 
+0

Potete dirmi l'indirizzo a questo esempio? Sto facendo fatica a trovare un buon tutorial di Spring WS 2. – Jaanus

risposta

3

Questo è un bug SWS noto: https://jira.springsource.org/browse/SWS-702.

+0

Ho visto questo bug-report, ma il commento di Arjen del 19/Maggio mi è sembrato indicare un altro bug: il mio endpoint non implementa alcuna interfaccia, né sto usando i proxy-op (almeno intenzionalmente). – Ice09

2

Per ora utilizzare sia come in:

<context:component-scan base-package="com.coral.project.endpoints"/> 

<sws:annotation-driven marshaller="marshaller" unmarshaller="marshaller"/> 

questo trova sia @Endpoint e @ PayloadRoot, @ ResponsePayload annotazioni. Questo è il modo in cui ti dicono di fare in riferimento primavera-WS:

http://static.springsource.org/spring-ws/sites/2.0/reference/html/tutorial.html#tutorial.implementing.endpoint

+0

Vero, tuttavia, è stato detto: ... si impone anche a Spring-WS di utilizzare endpoint basati su annotazione, con l'elemento ... quindi comprendo che il contesto: cmp-scan è stato utilizzato solo per la registrazione dei componenti "al di fuori" del dominio sws. – Ice09

+0

Quindi questo è un bug o un disegno? Sto avendo lo stesso problema e questa risposta lo risolve. Non è proprio così negli esempi che Pivotal ha nella documentazione di primavera. [Vedi il 5.4. Sezione degli endpoint] (http://docs.spring.io/spring-ws/site/reference/html/server.html) – gaoagong

+0

e mi puoi spiegare dove sono posizionati questi segnalatori? – hudi

Problemi correlati