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與對象映射的支持類。