设计与开发JAX-WS 2.0 Web服务

开始之前

关于本教程

在本教程中,我们将设计和开发一个订单处理应用程序,并将其功能作为 Web 服务公开,以便各种使用者以独立于平台的方式提交订单信息。

目标

完成了此教程后,可以应用相关概念和知识来使用 JAX-WS 技术为应用程序开发 Web 服务。

先决条件

要成功完成此教程,应该对 Web 服务技术具有基本的了解,而且需要能较为熟练地进行 Java 编程。

系统要求

要运行此教程中的示例,需要安装 Java Platform, Standard Edition (Java SE) 6.0。

JAX-WS 简介

为何使用 JAX-WS?

JAX-WS 是用于简化使用 Java 构造 Web 服务和 Web 服务客户机的工作的技术。该技术提供了完整的 Web 服务堆栈,可减少开发和部署 Web 服务的任务。JAX-WS 支持 WS-I Basic Profile 1.1,后者可确保使用 JAX-WS 堆栈开发的 Web 服务能够供采用 WS-I Basic Profile 标准使用任意语言开发的任意客户机使用。JAX-WS 还包括了 Java Architecture for XML Binding (JAXB) 和 SOAP with Attachments API for Java (SAAJ)。

JAXB 提供了一种非常方便的方法来将 XML 模式映射到 Java 代码的表示形式,从而支持数据绑定功能。JAXB 消除了将 SOAP 消息中的 XML 模式消息转换为 Java 代码的工作,因而不必全面了解 XML 和 SOAP 解析。JAXB 规范定义 Java 和 XML 模式之间的绑定。SAAJ 提供了标准的方法来处理 SOAP 消息中包含的 XML 附件。

而且,JAX-WS 提供了用于将传统 Java 对象(Plain Old Java Object,POJO)类转换为 Web 服务的 Annotation 库,从而加速了 Web 服务的开发工作。另外,它还指定了从采用 Web 服务描述语言(Web Services Description Language,WSDL)定义的服务到实现该服务的 Java 类之间的详细映射。采用 WSDL 定义的任意复杂类型都通过遵循 JAXB 规范定义的映射来映射为 Java 类。JAX-WS 之前与 Java Platform, Enterprise Edition (Java EE) 5 绑定。而 JAX-WS 2.0 规范是作为 Java Community Process (JCP) 的 JSR 224 开发的。

开发 Web 服务

契约优先方法与代码优先方法

进入 JAX-WS 时代的最好方法莫过于首先开发一个 Web 服务。可以采用以下两种方法之一开发 Web 服务:

契约优先:从 WSDL 契约着手,生成 Java 类来实现服务。

代码优先:从 Java 类着手,使用 Annotation 来生成 WSDL 文件和 Java 接口。

契约优先 WSDL 方法需要对用于定义消息格式的 WSDL 和 XML 模式定义(XML Schema Definition,XSD)有良好的理解。如果您对 Web 服务相当陌生,最好从代码优先方法着手,本教程中将使用此方法开发 Web 服务。

代码优先 Web 服务开发

使用代码优先方法时,将从实现希望作为服务公开的功能的 Java 类或类入手。在已经提供了 Java 实现且需要将实现作为服务公开的情况下,代码优先方法尤为有用。

时间: 2024-09-13 16:20:30

设计与开发JAX-WS 2.0 Web服务的相关文章

开发JAX-WS 2.0 Web服务

实现一个Web服务的过程,大概有3个基本的过程: Web服务提供者设计并开发Web服务 Web服务提供者发布Web服务 Web服务请求者调用Web服务 下面,我通过一个例子,来实现上述过程: 假设一个Web服务提供者提供一个对域名进行探测解析的服务,给定一个域名,可以给出改域名解析后对应的IP地址列表.Web服务提供者设计并开发这个Web服务,然后将服务发布出去,并可以让Web服务请求者进行调用. 开发Web服务 服务接口文件DetectionService.java代码如下所示: 1 pack

在ASP.NET开发中使用非.Net Web服务

asp.net|web|web服务 对于如何使用 WebRequest 和 WebResponse 类在 URI 上生成 POST 请求,在微软的 .Net 快速入门教程中有详细的描述(http://chs.gotdotnet.com/quickstart/howto/doc/WebRequests/clientPOST.aspx),简要引用如下: WebResponse 类是抽象(在 Visual Basic 中为 MustInherit)基类,协议特定的响应类从该抽象基类派生.应用程序可以使

在 ASP.NET 开发中使用非 .Net Web 服务

asp.net|web 对于如何使用 WebRequest 和 WebResponse 类在 URI 上生成 POST 请求,在微软的 .Net 快速入门教程中有详细的描述(http://chs.gotdotnet.com/quickstart/howto/doc/WebRequests/clientPOST.aspx),简要引用如下: WebResponse 类是抽象(在 Visual Basic 中为 MustInherit)基类,协议特定的响应类从该抽象基类派生.应用程序可以使用 WebR

用Axis和SOAP开发基于JAX-RPC的Web服务(2)

1.         Web 服务示例:订单处理<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 我之所以选择"订单处理"作为示例,是因为它比较接近实际的商业用例.该Web服务能够处理,更新一个给定的订单.为了达到这个目的,它必须具有两个方法:processOrder和updateOrder.方法processOrder具有一个IN参数orderID和

我发布了一个web 服务,如何设计我的网络结构

问题描述 大家好.问题是这样的,我把我的web服务程序和客户的网站放在同一个服务器上了.然后客户调用我的web服务程序,我的web服务需要访问内网里的数据库.请问如何访问我的数据库服务器啊.必须要给我内网里的数据库服务器申请个公共IP吗.想到了vpn.但缺乏详细的资料. 解决方案 解决方案二:准确的说是如何让外面我网站上的soap服务能够和内网里的sqlserver通信解决方案三:ado.net是可以提供内网的数据访问的只要包webconfig中的数据库服务器设置成你们内网的服务器就行了,只要你

结合Axis和Ant开发Web服务

本文结合一个简单示例讲解了怎样把Axis和Ant结合起来进行Web服务的开发.帮助读者从简单的java源代码或者从一个服务描述文件(wsdl)开始,用Ant工具进行构建,设置,并把服务部署到Axis.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   首先假定您熟悉 Axis 处理系统和Ant工具.文中示例所需要的软件如下: l          Apache Axis

从 SOAP Toolkit 迁移到 Web 服务

web 摘要:如何从 Visual Basic 6.0 和 Visual Basic .NET 访问 Web 服务,以及如何将现有的 SOAP 应用程序转换到 .NET 平台. 目标了解 Microsoft Visual Studio .NET 中的 SOAP 工具 回顾使用 SOAP 和 Visual Basic 6.0 访问 COM/COM+ 组件 从 Visual Basic .NET 访问 Web 服务 将 SOAP Toolkit 应用程序迁移到 Web 服务 前提条件了解什么是 We

正确认识“Web服务”( 转)

web|web服务 在日常的IT活动中积蓄了力量之后,应用程序设计领域中的下一波潮流即将到来了.这潮流就是Web服务--也即是通过基于XML(可拓展的标记语言)的SOAP(简单对象访问协议)可以进行访问的商业逻辑和信息. 在本文中, eWeek Labs解释了为什么Web服务能够降低成本并加强商业联系以及应该在什么时机下在电子商务活动的战略计划中加入这种结构和加入这种结构的方法. 直到现在,而且至少在未来一段较短的时间内, Web 服务还只是销售商鼓吹的概念, 而不是确实的实物,虽然微软和Sun

Java Web服务进阶

随着最近 Sun Microsystems 的 Java Web Services Developers Pack(Java WSDP)版本 1.0 的发布,Java 开发人员现在可以拥有一个方便的.集所有功能于一身的下载包,用来帮助在 Java 平台上开发 Web 服务.Java WSDP 包含 Java XML Pack 中的所有用于 XML 的 Java API(Java APIs for XML(JAX)),还包含有 Apache Tomcat 服务器以及为开发与测试 Web 服务提供一