`

Spring Web Services

    博客分类:
  • J2EE
阅读更多

http://www.infoq.com/cn/articles/arjen-poutsma-spring-ws

 

InfoQ:是什么东西使Spring Web Services变得如此独树一帜,为什么我要用它而不用Axis、XFire或者ActiveSOAP?

AP:Spring Web Services有几个独特的特性。首先,它完全专注于契约优先的Web Service设计。这基本上意味着你必须编写自己定义XML消息的XSD Schema。你可以引用WSDL中的Schema(虽然Spring Web Services也可以从XSD中生成WSDL),并将它用于验证。值得关注的事情是,当人们使用契约优先的开发风格时,他们在Web Services方面的许多互通性问题就消失了。这就是契约优先之所以被普遍当作是一种最佳实践的原因。你基本上是在设计一个XML API:你用Java实现这个API的事实,只是没有客户会在意的一个实现细节而已。

其次,Spring Web Services提供了契约和实现之间的一种松耦合:没有wsdl2java工具将契约直接连接到一个类;而是用你喜欢的任何方式(DOM、SAX、 StAX,甚至XML封送技术如JAXB、Castor、JIBX或者XMLBeans),实现处理得到的XML的端点(endpoint)。你将得到的请求映射到端点的方式,完全由你自己决定;默认情况下,我们提供基于消息内容的映射,或者SOAPAction Header。主要的思想是,你不用处理方法调用,而是处理XML消息。

最后,你可以从Spring项目中期待这些特性:

  • WS-Sercurity实现与Acegi Security整合;
  • JMS支持使用Spring 2的Message Driven POJO;
  • 主客户端类(WebServiceTemplate)提供一种类似于JdbcTemplate的API;
  • XML封送支持完全独立于Web Services(以便它可以用在其他的设置中);
  • 它适用于JDK 1.4及以上版本(虽然也有特定于Java 5的特性)。

InfoQ:因此在默认情况下,我的应用程序是从消息传送XML的?以哪种形式——以DOM树、流、Reader还是其他形式?

AP:应用程序传送一个XML输入抽象进行读取,并且一个输出抽象写入(相应为javax.xml.transform.Source和 javax.xml.transform.Result)。这样你的代码就不依赖任何特殊的XML处理API了。这个机制的实际实现取决于你选择使用的消息工厂。我们给SOAP提供了两种工厂:默认的是基于SAAJ的(javax.xml.soap,J2EE 1.4的一部分),它在底层使用DOM。对于更大的消息,我们支持Axis2的AXIOM,它使用一种StAX流。

 

InfoQ:因此在默认情况下,我的应用程序是从消息传送XML的?以哪种形式——以DOM树、流、Reader还是其他形式?

AP:应用程序传送一个XML输入抽象进行读取,并且一个输出抽象写入(相应为javax.xml.transform.Source和 javax.xml.transform.Result)。这样你的代码就不依赖任何特殊的XML处理API了。这个机制的实际实现取决于你选择使用的消息工厂。我们给SOAP提供了两种工厂:默认的是基于SAAJ的(javax.xml.soap,J2EE 1.4的一部分),它在底层使用DOM。对于更大的消息,我们支持Axis2的AXIOM,它使用一种StAX流。

 

2.http://www.iteye.com/news/1065

分享到:
评论

相关推荐

    Spring Web Services 框架入门研究--发布服务

    标题 "Spring Web Services 框架入门研究--发布服务" 提到的是关于使用Spring框架构建Web服务的内容。Spring Web Services是Spring生态体系中的一部分,它专注于创建基于SOAP(Simple Object Access Protocol)的互...

    Spring web services 2 cookbook

    本书《Spring web services 2 cookbook》是一本专注于Spring Web Services技术的实用指南。Spring Web Services是基于Spring框架的一个构建Web服务的解决方案,它允许开发者设计、开发和使用基于Spring框架的SOAP ...

    Spring Web Services 2 Cookbook

    《Spring Web Services 2 Cookbook》是一本专注于Spring Web Services 2框架实践的书籍,于2012年2月发布。这本书旨在帮助开发者更高效地利用Spring Web Services框架构建健壮且灵活的Web服务。Spring Web Services...

    Spring Web Services API(Spring Web Services 开发文档).CHM

    Spring Web Services 官网 Spring Web Services API。 Spring Web Services 开发文档。

    spring webservices reference

    ### Spring Web Services (Spring WS)概述与核心技术解析 #### 一、Spring Web Services 简介 ##### 1.1 引言 Spring Web Services(简称Spring WS)是Spring框架的一部分,专注于提供一种简单的方式来创建健壮且...

    Tutorialspoint Spring Web Services 教程.epub

    Tutorialspoint Spring Web Services 教程.epub

    Web Services平台架构

    总的来说,Web Services平台架构在Java中的实现涉及多个层面:定义服务接口(WSDL)、传输消息(SOAP)、服务发现(UDDI)、安全(WS-Security)以及开发工具(如JAX-WS、Spring Web Services和JAX-RS)。...

    spring 整合flex,整合webService

    本文将深入探讨Spring如何整合Flex以及如何通过WebServices实现数据通信。 首先,让我们了解Spring与Flex整合的基础。Spring框架提供了多种方式来与Flex客户端进行交互,最常用的是通过HTTP服务和AMF(Action ...

    Spring Web Service实例

    Spring Web Service是Spring社区基于Spring提供的一个关注于创建”文档驱动”的Web Service的模块, 它的主要目标是方便基于”契约优先”(Contract-First)的SOAP服务的开发. 好像没有多少人讨论, 大多数的话题都是...

    spring-web.jar

    2. Spring Web Services:Spring Web Services模块提供了创建基于SOAP的Web服务的功能,与`spring-web.jar`结合可以方便地构建服务端和消费端。 3. Spring Security:用于Web应用的安全控制,它可以与`spring-web....

    Spring在web中使用

    Spring通过其核心模块(如IoC容器)以及丰富的扩展模块(如Spring MVC和Spring Web Services)为开发者提供了强大的支持。 在描述中提到了`spring-web-3.2.0.RELEASE.jar`,这是Spring框架的Web模块,包含了处理Web...

    Spring应用开发实战Web Service WS

    Spring是目前非常流行的Java应用框架,其提供了丰富的开发组件,WS(Web Service)是其中重要的组成部分。Web Service是一种基于Web的分布式计算技术,它使得不同应用程序能够通过Internet通信和交互。Spring对WS的...

    Spring Webscripts Reference Documentation

    《Spring Webscripts 参考文档》是Spring框架的一个重要组成部分,主要关注Spring Web Services的动态脚本功能。Spring Webscripts旨在提供一种结构化、可重用且可配置的方式来创建Web服务端的动态响应。它允许...

    spring-ws-reference.pdf

    Spring Web Services(Spring-WS)是Spring框架的一个模块,它为构建基于SOAP的消息服务提供了一种轻量级的编程和配置模型。本文主要介绍了Spring Web Services的基本概念、为什么选择契约先行(Contract First)的...

    应用Java API开发Web Services 圖像檔

    除了JAX-WS和JAX-RS,Spring框架也提供了强大的支持,如Spring Web Services和Spring MVC,可以方便地与数据库和其他服务集成,处理图像文件的存储和检索。 在处理图像文件时,通常需要对图像进行编码和解码,如...

    Spring+hebinate+xfire整合的web services服务器例子

    在Web服务方面,Spring提供了Spring Web Services模块,支持WSDL-first和XML Schema-driven的Web服务开发。 其次,Hibernate是一个对象关系映射(ORM)框架,它消除了Java应用程序与数据库之间的直接耦合。通过使用...

    Spring Web Service 实战篇(1)

    在Spring Web Service项目中,这里可能配置了Spring MVC或Spring Web Services的DispatcherServlet,以及Spring的上下文配置。 `lib`目录包含了项目运行所需的外部依赖库。Spring Web Service项目会依赖Spring框架...

    building restful web services with spring 5 2e

    Building RESTful Web Services with Spring 5 – Second Edition: Leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 Find out how to implement the REST architecture to build resilient ...

    Building-Web-Services-with-Java.zip_building_web services

    Spring Boot简化了设置过程,Spring MVC提供了MVC模式,Spring Data支持数据库交互,而Spring Web Services专注于SOAP服务。压缩包可能包含Spring框架的集成示例,演示如何在实际项目中应用这些功能。 5. **Apache ...

Global site tag (gtag.js) - Google Analytics