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 的特性 -
-
XML Mapping to Objects - 可以使用存储在消息有效负载、SOAP 操作报头或通过使用 XPath 表达式的信息,将基于 XML 的请求映射到任何对象。
-
Multiple API Support to parse XML - 除了用于解析传入 XML 请求的标准 JAXP API(DOM、SAX、StAX)之外,还支持其他库,如 JDOM、dom4j、XOM。
-
Multiple API Support to marshal XML - Spring Web Services 使用其对象/XML 映射模块支持 JAXB 1 和 2、Castor、XMLBeans、JiBX 和 XStream 库。对象/XML 映射模块还可以用于非 Web 服务代码。
-
Spring based configurations - Spring Web Services 使用 Spring 应用上下文进行配置,具有与 Spring Web MVC 类似的架构。
-
Integrated WS-Security module - 通过使用 WS-Security 模块,可以对 SOAP 消息进行签名、加密、解密或对其进行身份验证。
-
Support for Acegi Security - 通过使用 Spring Web Services 的 WS-Security 实施,可以为 SOAP 服务使用 Acegi 配置。
Architecture
Spring-WS 项目包含五个主要模块,如下所述。
-
Spring-WS Core * − It is the primary module and provides the Central Interfaces like *WebServiceMessage 和 SoapMessage ,服务器端框架,实现 Web 服务端点的强大消息分派功能和支持类。它还提供 Web 服务使用者客户端,如 WebServiceTemplate 。
-
Spring-WS Support - 此模块提供对 JMS、电子邮件等的 supports。
-
Spring-WS Security - 此模块负责提供与核心 Web 服务模块集成的 WS-Security 实施。通过使用此模块,我们可以添加主体令牌,对 SOAP 消息进行签名、加密和解密。此模块允许使用现有的 Spring 安全性实施进行身份验证和授权。
-
Spring XML - 此模块为 Spring Web Services 提供 XML 支持类。Spring-WS 框架内部使用此模块。
-
Spring OXM - 此模块为 XML 与对象映射提供支持类。