19 votes

Avantages de WebServiceGatewaySupport vs WebServiceTemplate

Je dois implémenter un client webservice en utilisant Spring WS.

J'ai lu la documentation à l'adresse http://static.springsource.org/spring-ws/site/reference/html/client.html mais je ne vois pas clairement quels sont les avantages d'étendre WebServiceGatewaySupport par rapport à l'utilisation directe de WebServiceTemplate dans ma classe de service.

D'après ce que je peux dire de la source, la WebServiceGatewaySupport ne dispose que de quelques méthodes d'encapsulation pour la fonction WebServiceTemplate et quelques supports d'initialisation.

Alors pourquoi devrais-je prolonger WebServiceGatewaySupport au lieu d'utiliser directement un WebServiceTemplate ?

Merci !

15voto

evandongen Points 1563

Je pense que ceci résume tout (trouvé dans la référence client dont vous avez donné le lien) :

Vous pouvez également envisager WebServiceGatewaySupport de Spring-WS, qui expose les éléments suivants propriétés pratiques du bean pour permettre une configuration facile. (Vous n'avez pas à n'êtes pas obligé d'étendre cette classe de base... elle est fournie comme une classe de commodité uniquement. classe seulement).

Donc, si le WebserviceTemplate offre tout ce dont vous avez besoin, ça suffira probablement. Si vous avez besoin de quelque chose de plus, vous pouvez utiliser la fonction WebServiceGatewaySupport comme un exemple sur la façon d'envelopper vos propres méthodes de commodité autour de l'objet WebserviceTemplate .

Dans mon logiciel client, je configure simplement l'option WebserviceTemplate dans mon @Configuration comme ceci :

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

(Tous les appels de méthode sont des références à d'autres méthodes de la configuration qui ne sont pas très pertinentes dans cet exemple). Je peux utiliser ce bean partout dans mon code pour envoyer des messages.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X