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 服务的功能 -

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

  • 解析 XML 的多个 API 支持- 除了解析传入 XML 请求的标准 JAXP API(DOM、SAX、StAX)之外,还支持其他库,如 JDOM、dom4j、XOM。

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

  • 基于 Spring 的配置- Spring Web 服务使用 Spring 应用程序上下文进行配置,其架构与 Spring Web MVC 类似。

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

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

建筑学

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

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

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

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

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

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

Spring Web 服务架构