Spring WS简介

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使用其对象/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 - 它是主要模块,提供WebServiceMessage和SoapMessage等中央接口,服务器端框架,强大的消息分发功能和支持类来实现Web服务端点。 它还提供Web Service消费者客户端作为: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与对象映射的支持类。