📅  最后修改于: 2020-11-11 06:39:29             🧑  作者: Mango
Spring Web Services(Spring-WS)是Spring社区开发的项目之一。它的主要重点是创建文档驱动的Web服务。 Spring Web Services项目促进了合同优先的SOAP Service开发,并提供了多种创建灵活Web服务的方法,该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映射到对象-使用存储在消息有效负载,SOAP操作标头中的信息或使用XPath表达式,可以将基于XML的请求映射到任何对象。
支持多种API来解析XML-除了用于解析传入XML请求的标准JAXP API(DOM,SAX,StAX)之外,还支持其他库,例如JDOM,dom4j,XOM。
多种API支持封送XML -Spring Web Services使用其Object / XML Mapping模块支持JAXB 1和2,Castor,XMLBeans,JiBX和XStream库。对象/ XML映射模块也可以在非Web服务代码中使用。
基于Spring的配置-Spring Web Services使用Spring Application Contexts进行配置,其配置与Spring Web MVC相似。
集成的WS-Security模块-使用WS-Security模块,可以对SOAP消息进行签名,加密,解密或认证。
对Acegi Security的支持-使用Spring Web Services的WS-Security实现,可以将Acegi配置用于您的SOAP服务。
Spring-WS项目包含五个主要模块,下面将对其进行说明。
Spring-WS Core-它是主要模块,并提供WebServiceMessage和SoapMessage之类的中央接口,服务器端框架,强大的消息分发功能以及支持类,以实现Web服务端点。它还提供Web Service使用者客户端作为WebServiceTemplate 。
Spring-WS支持-该模块提供对JMS,电子邮件等的支持。
Spring-WS Security-该模块负责提供与核心Web Service模块集成的WS-Security实现。使用此模块,我们可以添加主体令牌,签名,加密和解密SOAP消息。这个模块允许使用现有的Spring Security Implementation进行认证和授权。
Spring XML-此模块为Spring Web Services提供XML支持类。该模块由Spring-WS框架内部使用。
Spring OXM-该模块为XML与对象映射提供支持类。