【问题标题】:Advantages of WebServiceGatewaySupport vs WebServiceTemplateWebServiceGatewaySupport 与 WebServiceTemplate 的优势
【发布时间】:2013-03-04 14:32:44
【问题描述】:

我必须使用 Spring WS 实现一个 web 服务客户端。

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

据我所知,WebServiceGatewaySupport 只有几个 WebServiceTemplate 的包装方法和一些初始化支持。

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

谢谢!

【问题讨论】:

    标签: spring-ws


    【解决方案1】:

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

    或者,考虑从 Spring-WS 派生 WebServiceGatewaySupport 便利基类,它公开 方便的 bean 属性以实现简单的配置。 (你不 必须扩展这个基类......它是为了方便而提供的 仅限班级。)

    所以,如果WebserviceTemplate 提供您所需的一切,那可能就足够了。如果您需要任何额外的东西,您可以使用WebServiceGatewaySupport 作为示例,了解如何将您自己的便捷方法包装在WebserviceTemplate 周围。

    在我的客户端软件中,我只是像这样在@Configuration 类中配置WebserviceTemplate

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

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

    【讨论】:

    • 感谢您的回答。如果 24 小时内没有更好的回复,我会给你赏金。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2012-07-09
    • 2010-09-30
    相关资源
    最近更新 更多