使用Macromedia Flex开发Web服务客户端

引言

开放式标准被企业用作降低高整合及维护费用的主要手段。现实中的各种异构软件系统使 得我们必须使用一些涉及开放式标准的策略,而 Web 服务很快就成为了解决这个难题的方法 的一个重要部分。直到现在,要构造一个界面友好的 GUI 客户端来与这些系统进行交互还是 非常的单调乏味。这个问题的一个部分就是 Web 服务描述语言(Web Services Description Language ,WSDL)正趋向于成为服务端点的唯一描述语言,这有时使得遵守起来变得非常困 难,尤其是对组织中的设计人员和用户接口开发人员。Flex 是 Macromedia 开发的一个 Rich Internet Application 平台,它在用户接口设计人员和更多传统服务器端开发人员之 间搭了一座桥。传统的后台程序员可以利用大量的吸引人的可视控制、效能、布局、及现有 的 Flash 组件,加上他们对服务端点的深厚知识,从而装配出一个诱人的客户端应用程序。 在任何时候不管有什么类型的资源在您的项目中可用,最后的结果都是可以容易地创建一个 高交互及诱人的应用程序,它在 Web 服务中整合了您的投资。

理解 WSDL

为了在不同的 SOAP 服务端点间交换消息(在 Flex 中,SOAP 消息被限制成只能使用 HTTP 协议传输机制),Flex 通过引用 WSDL 文档的 URL 来使用现有的 WSDL 定义。下表列 举了经常会在 WSDL 文档中出现的元素:

表 1. 常见的 WSDL 元素

元素名 描述
types 定义了 Web 服务消息可以使用的数据类型。
message 定义了 Web 服务操作中要传输的数据格式。
portType 定义了一个 Web 服务要提供的一个或多个操作。
operation 定义了输入、输出及错误消息的组合。
input 指出了 Web 服务客户端要(例如 Flex 应用程序)发生给 Web 服务的消 息。
output 指出了 Web 服务要发送给客户端(例如 Flex 应用程序)的消息。
fault 指出了处理消息出错时返回来的错误值。
binding 指出了与 Web 服务进行通信时使用的网络协议。现有 SOAP 绑定包括 HTTP GET、HTTP POST、以及 MIME 协议。Flex 现在只指出 SOAP 绑定。
service 定义端口集。每一个 service 元素对应一个 portType 元素,从而指定了 访问定义在 portType 元素中的操作的不同方法。
port Web 服务端点,指出了绑定和网络地址间的关联。

这些可以帮助我们对这些元素怎样在 WSDL 文档共同定义不同的 Web 服务有一个统一的 理解。 然而,Flex 设法隐藏了开发人员对 Web 服务定义的复杂性,而且对大多数人来说, 能大概知道服务要提供哪些功能就已经非常足够了。

还有一点非常重要,WSDL 提供了两种截然不同的方式来描述服务操作:远程过程调用 (Remote Procedure Call,RPC)及面向文档(document-oriented)的方式。对于一个 RPC 服务操作的 Flex 调用,它会发送一个 SOAP 消息来指出要调用的操作及操作所需要的参数 。而对于一个面向文档式操作的 Flex 调用,它会发送一个封装成 XML 文档的 SOAP 消息。 Flex 对这两种方式都提供了,但是由于它们使用了专门的标记,这暗示了这两种方式之间有 细微的差别。在文章的后面,作者会通过各种实例来详细地解释这两种方式的使用。

理解 WSDL

为了在不同的 SOAP 服务端点间交换消息(在 Flex 中,SOAP 消息被限制成只能使用 HTTP 协议传输机制),Flex 通过引用 WSDL 文档的 URL 来使用现有的 WSDL 定义。下表列 举了经常会在 WSDL 文档中出现的元素:

表 1. 常见的 WSDL 元素

元素名 描述
types 定义了 Web 服务消息可以使用的数据类型。
message 定义了 Web 服务操作中要传输的数据格式。
portType 定义了一个 Web 服务要提供的一个或多个操作。
operation 定义了输入、输出及错误消息的组合。
input 指出了 Web 服务客户端要(例如 Flex 应用程序)发生给 Web 服务的消 息。
output 指出了 Web 服务要发送给客户端(例如 Flex 应用程序)的消息。
fault 指出了处理消息出错时返回来的错误值。
binding 指出了与 Web 服务进行通信时使用的网络协议。现有 SOAP 绑定包括 HTTP GET、HTTP POST、以及 MIME 协议。Flex 现在只指出 SOAP 绑定。
service 定义端口集。每一个 service 元素对应一个 portType 元素,从而指定了 访问定义在 portType 元素中的操作的不同方法。
port Web 服务端点,指出了绑定和网络地址间的关联。

这些可以帮助我们对这些元素怎样在 WSDL 文档共同定义不同的 Web 服务有一个统一的 理解。 然而,Flex 设法隐藏了开发人员对 Web 服务定义的复杂性,而且对大多数人来说, 能大概知道服务要提供哪些功能就已经非常足够了。

还有一点非常重要,WSDL 提供了两种截然不同的方式来描述服务操作:远程过程调用 (Remote Procedure Call,RPC)及面向文档(document-oriented)的方式。对于一个 RPC 服务操作的 Flex 调用,它会发送一个 SOAP 消息来指出要调用的操作及操作所需要的参数 。而对于一个面向文档式操作的 Flex 调用,它会发送一个封装成 XML 文档的 SOAP 消息。 Flex 对这两种方式都提供了,但是由于它们使用了专门的标记,这暗示了这两种方式之间有 细微的差别。在文章的后面,作者会通过各种实例来详细地解释这两种方式的使用。

时间: 2024-09-08 11:22:12

使用Macromedia Flex开发Web服务客户端的相关文章

用ASP.NET开发Web服务的五则技巧

asp.net|web|web服务|技巧 一.禁用HTTP POST/GET协议 除非另外指定,否则,.NET将试图把Web服务绑定到三种协议:HTTP/POST.HTTP/GET和SOAP.之所以说"试图",是因为依赖于服务的参数和返回类型,HTTP/GET协议可能不可用..NET生成的WSDL文件将自动包含绑定这三种协议的指令,客户程序可以自由选择使用哪种协议与服务通信. 只要在Web.config文件中加入下列内容,就可以方便地删除对HTTP/POST和HTTP/GET协议的绑定

结合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

webservice-无法通过JAXWS:wsimport实现程序创建Web服务客户端

问题描述 无法通过JAXWS:wsimport实现程序创建Web服务客户端 无法通过JAXWS:wsimport实现程序创建Web服务客户端,错误截图如下

ASP.NET+XML Web服务客户端创建Web服务

asp.net|web|web服务|xml|创建|客户端 XML Web服务是一个提供特别的功能元素的可编程实体,比如应用程序逻辑,并且可以使用普遍存在的Internet标准例如XML和HTTP访问许多潜在的完全不同的系统.XML Web服务依赖于对XML和其他因特网标准的广泛接受,使用它们来创建支持应用程序互操作性的基础结构,解决了许多过去阻碍互操作性的问题. XML Web服务可在单个应用程序中使用,也可国际互联网被许多应用程序使用.因为一个XML Web服务可通过一个标准接口访问,所以它允

通过Axis2开发Web服务,第1部分:通过Axis2运行时部署和使用简单Web服务

本文配套源码 引言 Axis2 是下一代Apache Axis.Axis2虽然由Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构.Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码.支持开发 Axis2 的动力是探寻模块化更强.灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security.WS-ReliableMessaging 等)的实现中. Axis2 的特性包括

J2EE Web服务客户端质量报告(一)

概要 本文实现了记录J2EE(Java2平台企业版)Web服务的客户端响应次数的一个通用的结构.记录的响应次数是真实的客户端响应次数,所以它们实际上反映了用户对服务质量的看法.实验的样品是使用Sun ONE (开放式网络环境)应用服务器和IDE建立起来的,但是这个方法很普通,很容易推广到其它J2EE实现上. Web服务正迅速的成为实现客户端-服务器系统的首选结构.它的优点是:企业可以正式的定义一组服务,然后生成通讯用的完整的客户端和服务器的代码库,从而简化新的客户端对合法的Web资源的访问. 但

用JAXM开发Web服务

阅读本文前您需要以下的知识和工具: JavaTM Web Services Developer Pack 1.1,并且会使用初步使用: 至少会使用一种EJB容器来开发.部署EJB,并且了解怎么在客户端访问EJB组件: 一般的Java编程知识. 在J2EE平台里,要开发一个Web服务,我们通常有两种选择: 使用JAX-RPC(Java API for XML-based RPC) 使用JAXM(Java API for XML Messaging) 作为对JAXM开发技术的入门,本文先不比较它们的

J2EE Web服务客户端质量报告(五)

建立样品客户端应用 要建立样品客户端应用,请将下列文件系统添加到IDE中:<download directory>/Metrics/TransactionClient. 该文件系统包含一个应用类和一个Xact 软件包.应用类可模仿客户端事务的执行,Xact 软件包包含客户端Web服务处理器. Xact软件包可使用Sun Web服务开发者工具包来创建,这个工具包包括在Sun ONE应用框架内.批文件gen.bat使用wscompile命令创建Xact软件包.如果你想重建该软件包的话, 你只需调整

J2EE Web服务客户端质量报告(四)

客户端服务软件包 通过指引WSDL编译器到应用服务器提供的WSDL上可自动生成客户端服务软件包.这个软件包包含许多类.我们需要修改的唯一类就是客户端Stub类.同样地,服务器Web 服务软件包也包含类Tie,它可将Web服务请求绑定到EJB方法上,客户端Stub类为每个服务商业方法的每个客户端配备一个方法. 服务Stub类的名称为 <ServiceName>ServantInterface_Stub,其中<ServiceName>就是服务名.我们看看类XactServiceServ