Spring Web Services 概述

Python/Java学习交流群:369606713


Spring Web Services(Spring-WS)是Spring社区开发的项目之一。其主要重点是创建文档驱动的Web服务。Spring Web Services项目促进了契约优先的 SOAP服务开发 ,提供了多种创建灵活Web服务的方法,可以通过多种方式处理XML有效负载。

Spring Web服务无缝地使用依赖注入和配置等Spring概念。Spring-WS需要Spring 3.0版本。通过契约优先开发,我们从 WSDL Contract 开始,然后使用JAVA来实现所需的合同。

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

特征

以下是Spring Web Services的功能

  • XML映射到对象 - 可以使用Message Payload,SOAP Action Header中存储的信息或使用XPath Expression将基于XML的请求映射到任何对象。

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

  • 用于编组XML的多API支持 - Spring Web Services使用其Object / XML Mapping模块支持JAXB 1和2,Castor,XMLBeans,JiBX和XStream库。 Object / XML Mapping模块也可以用在非Web服务代码中。

  • 基于Spring的配置 - Spring Web Services将Spring Application Contexts用于具有与Spring Web MVC类似的体系结构的配置。

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

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

架构

Spring-WS项目由五个主要模块组成,下面将对其进行说明。

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

  • Spring-WS支持 - 该模块为JMS,电子邮件等提供支持。

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

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

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

Spring Web服务架构

Spring WebService 教程导航