JAX-RPC 是sun基于web services标准的早期实现。JAX-RPC1.1
JAX-WS 是sun基于web services标准的最新实现。JAX-WS是JAX-RPC1.1的后续版本。
JAX-WS在binding层使用的是the Java Architecture for XML Binding (JAXB, JSR 222),在parsing层,使用的是the Streaming API for XML (StAX, JSR 173),同时它还完全支持schema规范。
相同点?
在列出 JAX-RPC 1.1 和 JAX-WS 2.0 的差异前,我们应该首先讨论一下二者的相同之处:
JAX-WS 仍然支持 SOAP 1.1 over HTTP 1.1,因此互操作性将不会受到影响,仍然可以在网上传递相同的消息。
JAX-WS 仍然支持 WSDL 1.1,因此您所学到的有关该规范的知识仍然有用。WSDL 2.0 规范已经接近完成,但在 JAX-WS 2.0 相关工作结束时其工作仍在进行中。
区别何在?
SOAP 1.2
JAX-RPC 和 JAX-WS 都支持 SOAP 1.1。JAX-WS 还支持 SOAP 1.2。
XML/HTTP
WSDL 1.1 规范在 HTTP 绑定中定义,这意味着利用此规范可以在不使用 SOAP 的情况下通过 HTTP 发送 XML 消息。JAX-RPC 忽略了 HTTP 绑定。而 JAX-WS 添加了对其的支持。
WS-I Basic Profile
JAX-RPC 支持 WS-I Basic Profile (BP) V1.0。JAX-WS 支持 BP 1.1。(WS-I 即 Web 服务互操作性组织。)
新 Java 功能
JAX-RPC 映射到 Java 1.4。JAX-WS 映射到 Java 5.0。JAX-WS 依赖于 Java 5.0 中的很多新功能。
Java EE 5 是 J2EE 1.4 的后续版本,添加了对 JAX-WS 的支持,但仍然支持 JAX-RPC,这可能会对 Web 服务新手造成混淆。
数据映射模型
JAX-RPC 具有自己的映射模型,此模型大约涵盖了所有模式类型中的 90%。它没有涵盖的部分映射到了 javax.xml.soap.SOAPElement。
JAX-WS 的数据映射模型是 JAXB。JAXB 可保证所有 XML 模式的映射。
接口映射模型
JAX-WS 的基本接口映射模型与 JAX-RPC 的区别并不大,不过二者之间存在以下差异:
JAX-WS 的模型使用新的 Java 5.0 功能。
JAX-WS 的模型引入了异步功能。
动态编程模型
JAX-WS 的动态客户机模型与 JAX-RPC 的对应模型差别很大。很多更改都是为了认可行业需求:
引入了面向消息的功能。
引入了动态异步功能。
JAX-WS 还添加了动态服务器模型,而 JAX-RPC 则没有此模型。
消息传输优化机制(Message Transmission Optimization Mechanism,MTOM】
JAX-WS 通过 JAXB 添加了对新附件规范 MTOM 的支持。Microsoft 从来没有给 SOAP 添加附件规范;但似乎大家都支持 MTOM,因此应该能够实现附件互操作性。
处理程序模型
从 JAX-RPC 到 JAX-WS 的过程中,处理程序模型发生了很大的变化。
JAX-RPC 处理程序依赖于 SAAJ 1.2。JAX-WS 处理程序依赖于新的 SAAJ 1.3 规范。
Content-Type
SOAP 1.1 HTTP/SOAP 消息的媒体类型为“text/xml”,其编码处理是在 RFC2376 中定义的。
SOAP 1.1: HTTP/SOAP 请求的字符集由 HTTP 头中的 ContentType 字符集参数确定。在 SOAP 消息的 XML 声明部分定义的编码特性将被忽略。如果不指定 ContentType 字符集参数,字符集将被视为 US-ASCII。
SOAP 1.2 HTTP/SOAP 消息的媒体类型为“application/soap+xml”,其编码处理是在 RFC3023 中定义的。
SOAP 1.2: HTTP/SOAP 请求的字符集由 HTTP 头中的 ContentType 字符集参数确定。在 SOAP 消息的 XML 声明部分定义的编码特性将被忽略。如果未指定 ContentType 的字符集参数,将使用在 XML 声明部分定义的编码特性。如果 ContentType 字符集参数或 XML 声明的编码特性均未定义,它将被视为 UTF-8。
PS:以上部分内容参考http://www.ibm.com/developerworks/cn/webservices/ws-tip-jaxwsrpc.html
分享到:
相关推荐
7. **jaxrpc-api.jar**:尽管JAX-WS已经取代了JAX-RPC,但在某些老版本或特定场景下,JAX-RPC的API仍可能被引用。 把这些JAR文件复制到Tomcat安装目录的`lib`子目录下,可以确保Tomcat在启动时加载这些依赖,从而...
以下是关于JAX-WS的一些核心知识点: 1. **服务端开发:** - **@WebService**:这是JAX-WS中的一个关键注解,用于标记一个Java类作为Web服务的接口。它允许开发者定义服务端点接口(SEI,Service Endpoint ...
JAX-WS 2.0是JAX-WS的第二个主要版本,它在JAX-RPC(Java API for XML-based RPC)的基础上进行了改进,引入了许多新特性以提升开发者的体验和效率。 **JAX-WS 2.0 的核心概念:** 1. **服务端点接口(SEI, ...
JAX-WS取代了早期的JAX-RPC(Java API for XML-based RPC),提供了一个更加现代、轻量级且基于标准的框架。 1. **SOAP与Web服务** SOAP(简单对象访问协议)是一种基于XML的协议,用于交换结构化的信息。Web服务...
JAX-WS是Sun Microsystems在J2EE 5.0中引入的,目的是简化Web服务的开发过程,取代了之前的JAX-RPC(Java API for XML-based Remote Procedure Calls)。JAX-WS通过使用WSDL(Web服务描述语言)来定义服务接口,使得...
JAX-WS与早期的JAX-RPC相比,提供了更简洁的API,更直接地与Java编程模型集成,降低了开发复杂性。在实际项目中,JAX-WS可以与其他技术,如Spring框架,结合使用,以实现更高级的功能,如事务管理、安全性等。 在...
总结起来,"JAX-WS低版本"项目是关于在Apache Tomcat服务器上使用JAX-WS 2.2.1来创建和部署基于SOAP的Web服务,以及生成和使用客户端存根进行远程调用。理解这些知识点对于进行Web服务开发和集成至关重要。
与早期的Java API for XML Processing (JAX-RPC)相比,JAX-WS更符合面向对象的设计原则,更易于使用。 在本示例中,我们主要关注的是使用注解来创建Web服务。注解是一种元数据,它可以在源代码中嵌入,为编译器和...
JAX-WS(Java API for XML Web Services)2.0,由JSR 224定义,是Java EE 5平台的关键组成部分,它是JAX-RPC 1.1的升级版。JAX-WS的主要目标是简化基于XML的Web服务的开发任务,它提供了对SOAP 1.1和1.2,以及XML等...
它是JAX-RPC的继承者,提供了更现代、基于标准的编程模型。JAX-WS 2.0是其第二个主要版本,与Java 5兼容,并且基于一系列规范,如JAXB(Java Architecture for XML Binding)、StAX(Streaming API for XML)和XML ...
JAX-WS(Java API for XML Web Services)是Java平台上用于构建和消费Web服务的标准API,它取代了早期的JAX-RPC。本篇将详细介绍如何在MyEclipse6_5集成开发环境中使用JAX-WS来开发Web服务。 首先,让我们了解...
Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让...
在本篇文章中,我们将探讨如何利用Java SDK中的JAX-WS(Java API for XML Web Services)来创建和消费Web服务。 JAX-WS是Java平台上的一个标准组件,用于构建和部署SOAP Web服务。它简化了Web服务开发过程,提供了...
使用JAX-WS(JWS)发布WebService 使用myeclipse开发java的webservice的两种方式 方式一: (此方式只能作为调试,有以下bug:jdk1.6u17?以下编译器不支持以Endpoint.publish方式发布document方式的soap,必须在...
它是JAX-RPC的后继者,提供了一种更简洁的方式来实现Web服务,与之前的版本相比,它使用了基于注解的编程模型,并与Java 5及更高版本兼容。JAX-WS支持SOAP协议,是构建SOAP消息的一种机制,也可以处理HTTP绑定以及...
JAX-WS 2.0 在继承了前一版本 JAX-RPC 的基础上进行了大幅改进,增加了对 SOAP 1.2 的支持,提供了更为丰富的 API 接口以及更加简洁的操作方式。此外,JAX-WS 2.0 还具有以下核心特点: 1. **简化编程模型**:通过...
5. **JAX-RPC(Java API for XML-based RPC)**:JAX-WS的前身,主要用于远程过程调用,但JAX-WS更加强调基于标准的Web服务。 **三、JAX-WS的基本工作流程** 1. **服务端开发**:定义服务接口,使用`@WebService`...
**四、JAX-WS与JAX-RPC比较** 相比早期的JAX-RPC,JAX-WS提供了更丰富的功能,如: - 更强的类型安全性,通过WSDL生成的客户端代码能更好地捕获类型错误。 - 更好的集成性,与Java EE平台无缝集成。 - 支持WS-*...
JAX-WS 是一种用于构建和部署 Web 服务的 Java API,它在 Java EE 5 及以上版本中被引入,用于替代早期的 JAX-RPC。JAX-WS 提供了更加简洁和面向对象的 API,使得开发者可以更容易地创建符合 W3C 标准的 SOAP...
它继承自JAX-RPC,并在Java SE 6中作为标准组件被引入。 - **关键特性**:JAX-WS提供了高级抽象层,简化了Web服务的实现。它支持SOAP消息交换模式,并且可以轻松集成其他安全性和事务管理功能。 **2. 开发环境...