Spring WS - 概述

Spring Web Services (Spring-WS) 是 Spring 社区开发的项目之一。 它的主要重点是创建文档驱动的 Web 服务。Spring Web Services 项目促进了契约优先 SOAP 服务开发,提供了多种方式来创建灵活的 Web 服务,这些服务可以以多种方式操作 XML 有效负载。

Spring Web 服务无缝地使用了依赖注入和配置等 Spring 概念。 Spring-WS 需要 Spring 3.0 版本。 在契约优先开发中,我们从 WSDL 契约 开始,然后将使用 JAVA 来实现所需的契约。

与 JAVA 接口生成 WSDL/XSD 契约的最后契约方法相反。 在契约优先的方法中,基于 WSDL 的契约保持独立于 JAVA 实现。如果我们需要更改 JAVA 接口,则无需将现有 WSDL 合同中所做的更改传达给 Web 服务用户。 Spring-WS 旨在提供 WSDL 契约与其基于 JAVA 的实现之间的松散耦合。


特点

以下是 Spring Web Services 的特点 −

  • XML 映射到对象 − 可以使用存储在消息有效负载、SOAP 操作标头中的信息或使用 XPath 表达式将基于 XML 的请求映射到任何对象。

  • 多种 API 支持解析 XML − 除了用于解析传入 XML 请求的标准 JAXP API(DOM、SAX、StAX)外,还支持 JDOM、dom4j、XOM 等其他库。

  • 多 API 支持编组 XML− Spring Web Services 使用其 Object/XML Mapping 模块支持 JAXB 1 和 2、Castor、XMLBeans、JiBX 和 XStream 库。 对象/XML 映射模块也可用于非 Web 服务代码。

  • 基于 Spring 的配置 − Spring Web Services 使用 Spring Application Contexts 进行配置,其架构与 Spring Web MVC 的架构相似。

  • 集成的 WS-Security 模块 − 使用 WS-Security 模块,您可以对 SOAP 消息进行签名、加密、解密或认证。

  • 支持 Acegi 安全 − 使用 Spring Web 服务的 WS-Security 实现,Acegi 配置可用于您的 SOAP 服务。


体系结构

Spring-WS 项目由五个主要模块组成,如下所述。

  • Spring-WS Core − 它是主要模块,提供像WebServiceMessageSoapMessage 这样的中央接口、服务器端框架、强大的消息分发能力和支持类来实现Web 服务端点。 它还提供 Web Service 消费者客户端作为 WebServiceTemplate

  • Spring-WS Support − 该模块提供对 JMS、电子邮件等的支持。

  • Spring-WS Security − 该模块负责提供与核心 Web 服务模块集成的 WS-Security 实现。使用这个模块,我们可以添加主体令牌、签名、加密和解密 SOAP 消息。 该模块允许使用现有的 Spring Security 实现进行身份验证和授权。

  • Spring XML − 该模块为 Spring Web 服务提供 XML 支持类。 此模块由 Spring-WS 框架内部使用。

  • Spring OXM − 该模块为 XML 与对象映射提供支持类。

Spring Web Services Architecture