2013-03-04 13 views
9

Muszę zaimplementować klienta usług sieciowych przy użyciu Spring WS.Zalety WebServiceGatewaySupport vs WebServiceTemplate

Czytałem dokumentację na http://static.springsource.org/spring-ws/site/reference/html/client.html ale to nie jest dla mnie jasne, jakie są zalety rozszerzenie WebServiceGatewaySupport kontra bezpośrednio za pomocą WebServiceTemplate w moim klasy usług.

O ile wiem od źródła, WebServiceGatewaySupport ma tylko kilka metod otoki dla WebServiceTemplate i niektóre wsparcie dla inicjalizacji.

Dlaczego więc powinienem przedłużyć WebServiceGatewaySupport zamiast bezpośrednio przy użyciu WebServiceTemplate?

Dziękujemy!

Odpowiedz

7

myślę, że to podsumowuje to wszystko (znaleziono w odniesieniu klienta ty linked):

Alternatywnie, należy rozważyć wynikające z WebServiceGatewaySupport klasy bazowej wygoda Wiosna-WS, która naraża dogodne właściwości fasoli, aby umożliwić łatwe konfiguracja. (Ty nie mają rozszerzenie tej klasy bazowej ... jest przewidziane jako klasa wygoda tylko.)

Tak więc, jeśli WebserviceTemplate oferuje wszystko, czego potrzebujesz, to pewnie wystarczy. Jeśli potrzebujesz czegoś ekstra, możesz użyć WebServiceGatewaySupport jako przykładu na zawijanie własnych metod wygody wokół WebserviceTemplate.

W moim oprogramowania klienckiego, po prostu skonfigurować WebserviceTemplate w moim @Configuration klasy tak:

@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; 
} 

(Wszystkie wywołania metod są odniesienia do innych metod konfiguracji, które nie są tak istotne w tym przykładzie). Mogę używać tej fasoli wszędzie w moim kodzie, aby wysyłać wiadomości.

+0

Dzięki za odpowiedź. Dam ci nagrodę, jeśli nie ma lepszej odpowiedzi w ciągu 24h. – Sorin