WebServiceGatewaySupport与WebServiceTemplate的优点

Sor*_*rin 16 spring-ws

我必须使用Spring WS实现Web服务客户端.

我已经阅读了http://static.springsource.org/spring-ws/site/reference/html/client.html上的文档,但我不清楚扩展WebServiceGatewaySupport与直接WebServiceTemplate在我的服务类中使用有什么好处.

据我所知,从源代码可以看出,WebServiceGatewaySupport只有一些包装器方法可以用于WebServiceTemplate初始化和一些初始化支持.

那我为什么要扩展WebServiceGatewaySupport而不是直接使用WebServiceTemplate

谢谢!

eva*_*gen 12

我认为这总结了一切(在您链接的客户参考中找到):

或者,考虑从Spring-WS的WebServiceGatewaySupport便捷基类派生,该基类公开方便的bean属性以实现轻松配置.(您不必扩展此基类...它仅作为便利类提供.)

所以,如果WebserviceTemplate你需要的所有优惠,这可能就足够了.如果您需要任何额外的东西,您可以使用WebServiceGatewaySupport作为示例,如何围绕自己包装自己的便利方法WebserviceTemplate.

在我的客户端软件中,我只是WebserviceTemplate在我的@Configuration类中配置如下:

@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;
}
Run Code Online (Sandbox Code Playgroud)

(所有方法调用都是对配置中与本示例中不相关的其他方法的引用).我可以在我的代码中到处使用该bean来发送消息.