2013-03-04 13 views
9

Devo implementare un client webservice utilizzando Spring WS.Vantaggi di WebServiceGatewaySupport vs WebServiceTemplate

Ho letto la documentazione allo http://static.springsource.org/spring-ws/site/reference/html/client.html ma non è chiaro per me quali sono i vantaggi dell'estensione dello WebServiceGatewaySupport rispetto all'utilizzo diretto di WebServiceTemplate nella mia classe di servizio.

Per quanto ne so dalla fonte, lo WebServiceGatewaySupport ha solo un paio di metodi wrapper per lo WebServiceTemplate e un supporto per l'inizializzazione.

Quindi perché dovrei estendere WebServiceGatewaySupport invece di utilizzare direttamente un WebServiceTemplate?

Grazie!

risposta

7

Credo che questo riassume tutto (trovato nel riferimento cliente si è collegato):

In alternativa, prendere in considerazione derivante dalla WebServiceGatewaySupport classe base la convenienza del Primavera-WS, che espone proprietà del bean convenienti per consentire una facile configurazione. (Non è devono estendere questa classe di base ... è previsto come una classe convenienza solo.)

Quindi, se il WebserviceTemplate offre tutto ciò che serve, che probabilmente sufficiente. Se hai bisogno di qualcosa in più puoi usare lo WebServiceGatewaySupport come esempio su come avvolgere i tuoi metodi di convenienza attorno allo WebserviceTemplate.

Nel mio software client, ho semplicemente configurare la WebserviceTemplate nella mia classe di @Configuration in questo modo:

@Bean 
public WebServiceTemplate webServiceTemplate() { 
    WebServiceTemplate template = new WebServiceTemplate(); 
    template.setMessageFactory(messageFactory()); 
    template.setDefaultUri(defaultUri); 
    template.setMarshaller(marshaller()); 
    template.setUnmarshaller(marshaller()); 
    template.setInterceptors(new ClientInterceptor[] {interceptor()}); 

    return template; 
} 

(Tutte le chiamate di metodo sono riferimenti ad altri metodi nella configurazione che non sono rilevanti che in questo esempio). Posso usare quel bean ovunque nel mio codice per inviare messaggi.

+0

Grazie per la risposta. Ti darò la taglia se non c'è risposta migliore in 24 ore. – Sorin

Problemi correlati