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 Action 标头或通过使用 XPath 表达式中的信息,可以将基于 XML 的请求映射到任何对象。

  • 支持多种解析 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 Services 使用 Spring 应用程序上下文进行其配置,其架构类似于 Spring Web MVC。

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

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

架构

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

  • Spring-WS Core - 它是主要模块,并提供核心接口,如WebServiceMessageSoapMessage、服务器端框架、强大的消息分派功能和用于实现 Web 服务端点的支持类。它还提供 Web 服务客户端WebServiceTemplate

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

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

  • Spring XML - 此模块提供 Spring Web Services 的 XML 支持类。此模块由 Spring-WS 框架内部使用。

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

Spring Web Services Architecture
广告