2013-03-04 87 views
9

我必须使用Spring WS实现webservice客户端。WebServiceGatewaySupport vs WebServiceTemplate的优点

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

据我所知,从源头上看,WebServiceGatewaySupport只有WebServiceTemplate的一些包装方法和一些初始化支持。

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

谢谢!

回答

7

我想这概括了这一切(你链接的客户端参考值):

或者考虑从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; 
} 

(所有的方法调用是在配置的其它方法都没有在这个例子中是相关的参考资料)。 我可以在我的代码中的任何地方使用该bean来发送消息。

+0

感谢您的回答。如果24小时内没有更好的回复,我会给你赏金。 – Sorin 2013-03-07 14:55:05

相关问题