Springws 简明教程

Spring WS - Overview

Spring Web Services(Spring-WS)是由 Spring 社区开发的一个项目。其主要重点是创建面向文档的 Web 服务。Spring Web Services 项目促进了 SOAP Service Development ,提供了多种方式来创建灵活的 Web 服务,这些服务可以通过多种方式操作 XML 有效负载。

Spring Web 服务无缝使用 Spring 概念,如依赖注入和配置。Spring-WS 要求 Spring 3.0 版本。借助 WSDL Contract ,我们从契约开始,然后使用 JAVA 来实现所需的契约。

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

Features

以下为 Spring Web Services 的特性 -

  1. XML Mapping to Objects - 可以使用存储在消息有效负载、SOAP 操作报头或通过使用 XPath 表达式的信息,将基于 XML 的请求映射到任何对象。

  2. Multiple API Support to parse XML - 除了用于解析传入 XML 请求的标准 JAXP API(DOM、SAX、StAX)之外,还支持其他库,如 JDOM、dom4j、XOM。

  3. Multiple API Support to marshal XML - Spring Web Services 使用其对象/XML 映射模块支持 JAXB 1 和 2、Castor、XMLBeans、JiBX 和 XStream 库。对象/XML 映射模块还可以用于非 Web 服务代码。

  4. Spring based configurations - Spring Web Services 使用 Spring 应用上下文进行配置,具有与 Spring Web MVC 类似的架构。

  5. Integrated WS-Security module - 通过使用 WS-Security 模块,可以对 SOAP 消息进行签名、加密、解密或对其进行身份验证。

  6. Support for Acegi Security - 通过使用 Spring Web Services 的 WS-Security 实施,可以为 SOAP 服务使用 Acegi 配置。

Architecture

Spring-WS 项目包含五个主要模块,如下所述。

  1. Spring-WS Core * − It is the primary module and provides the Central Interfaces like *WebServiceMessageSoapMessage ,服务器端框架,实现 Web 服务端点的强大消息分派功能和支持类。它还提供 Web 服务使用者客户端,如 WebServiceTemplate

  2. Spring-WS Support - 此模块提供对 JMS、电子邮件等的 supports。

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

  4. Spring XML - 此模块为 Spring Web Services 提供 XML 支持类。Spring-WS 框架内部使用此模块。

  5. Spring OXM - 此模块为 XML 与对象映射提供支持类。

springws architecture