`
ilinker
  • 浏览: 64718 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

[转]Flex与ASP.NET互操作系列2:基于WebService的数据访问(上)

    博客分类:
  • Flex
阅读更多

Flex提供了<mx:WebService>、<mx:HTTPService>和<mx:RemoteObject>标签来直接访问远程数据,这用于与各种不同语言环境开发提供的远程服务端数据源(如WebService)进行数据交互通信显得更加容易.

     本文以.NET平台下C#语言开发的WebService作为远程数据源,详细介绍Flex与.NET的WebService的数据通信知识点;包括连接WebService,远程调用WebService方法,给WebService方法传递参数等相关知识点。三个标签的使用方法基本上是一样,这里就以<mx:WebService>标签为例进行介绍。

     首先看看如下代码块:

1     <mx:WebService id="dataService"
2         wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl"
3         useProxy="false">
4         <mx:operation name="HelloWorld" result="onSuccess(event)" fault="onFault(event)"/>
5         <mx:operation name="GetBook" fault="onFault(event)" result="onObjectSuccess(event)"/>
6     </mx:WebService>
 

     wsdl属性指定到要访问的WebService的wsdl地址既可,其中定义了两个操作标签(<mx:operation>),分别对应于WebService中定义的WebMethod方法。result属性标记访问WebService方法成功后的处理函数;fault则相反,指定于访问失败的处理函数。以上两个<mx:operation>对应于WebService的WebMethod方法如下:

 1     /// <summary>
 2     /// 返回字符串
 3     /// </summary>
 4     /// <returns></returns>
 5     [WebMethod]
 6     public string HelloWorld()
 7     {
 8         return "Hello World";
 9     }
10
11     /// <summary>
12     /// 返回一个简单对象
13     /// </summary>
14     /// <returns></returns>
15     [WebMethod]
16     public Book GetBook()
17     {
18         return new Book
19         {
20             Id = 1,
21             Name = "三国演义",
22             Author = "罗贯中",
23             Price = 100
24         };
25     }
 

     如上便是WebService方法定义和在Flex的客户端(mxml)通过<mx:WebService>标签来访问WebService的完整流程,下面我们来看看在Flex的客户端怎么去调用WebService所定义的方法:

 1 <mx:Script>
 2     <![CDATA[
 3         import mx.controls.Alert;
 4         import mx.rpc.events.FaultEvent;
 5         import mx.rpc.events.ResultEvent;
 6        
 7         /**
 8          * 向WebService发起请求--调用HelloWorld方法,dataService为<mx:WebService>的id
 9          * */
10         internal function onRequest():void
11         {
12             dataService.HelloWorld();
13         }
14        
15         /**
16          * 请求成功处理返回结果
17          * */
18         internal function onSuccess(evt:ResultEvent):void
19         {
20             Alert.show(evt.result.toString());
21         }
22        
23        
24         /**
25          * 请求失败的处理函数
26          * */
27         internal function onFault(evt:FaultEvent):void
28         {
29             Alert.show("访问WebService失败!");
30         }
31     ]]>
32 </mx:Script>
 

      通过上面的调用,就可以完成一个Flex和.NET WebService的交互。当然我们在Flash/Flex的客户端调用WebService也是可以传递参数的,如下WebService的WebMethod定义:

 1     /// <summary>
 2     /// 将传递进来的参数转化为大写字符返回
 3     /// </summary>
 4     /// <param name="value"></param>
 5     /// <returns></returns>
 6     [WebMethod]
 7     public string ConvertToUpper(string value)
 8     {
 9         return value.ToUpper();
10     }
 

     通过在<mx:WebService>标签下配置<mx:operation>执行该方法就可以访问了,如下:

1 <mx:operation name="ConvertToUpper"  result="onSuccess(event)" fault="onFault(event)"/>
 

1     /**
2      * 向WebService发起请求
3      * */
4     internal function onRequest():void
5     {
6         //dataService.HelloWorld();
7         dataService.ConvertToUpper("abcdefg");
8     }

     另外,我们还可以通过<mx:request>来传递参数,这里只需要知道<mx:request></mx:request>里的参数配置与WebService提供的WebMethod方法参数同名就OK。

     回到前面看看WebService的方法定义,其中一个方法GetBook是返回的一个Book对象,如果是返回的对象我们在Flex的客户端怎么来获取这个对象的值呢?详细见如下代码示例:

 1     internal function onObject():void
 2     {
 3         dataService.GetBook();
 4     }
 5    
 6     internal function onObjectSuccess(evt:ResultEvent):void
 7     {
 8         //直接通过事件的result属性得到返回值,然后直接访问属性便OK
 9         Alert.show(evt.result.Name);
10     }
11    
12     /**
13      * 请求失败的处理函数
14      * */
15     internal function onFault(evt:FaultEvent):void
16     {
17         Alert.show("访问WebService失败!");
18     }
 

     如上便完成了服务端的WebService返回对象到客户端的调用。

文章来自学IT网:http://www.xueit.com/html/2009-02/21_572_00.html

分享到:
评论

相关推荐

    Flex与.NET互操作基于WebService的数据访问

    Flex与.NET互操作是跨平台应用开发中的一个重要环节,它允许使用Adobe Flex的用户界面技术与微软.NET框架下的服务端逻辑进行数据交换。在这种场景下,WebService作为一种标准的跨平台通信方式,使得Flex客户端能够...

    基于WebService的数据访问(下) Flex与.NET互操作(三)

    在上一篇文章《Flex与.NET互操作(二):基于WebService的数据访问(上) 》中介绍了通过标签来访问Webservice。实际上我们也可以通过编程的方式动态的访问WebService,Flex SDK为我们提供了WebService类。

    Flex与.Net互操作

    Flex与.NET互操作是开发跨平台富互联网应用(RIA)时的一个重要技术组合,它允许基于Adobe Flex的前端用户界面与Microsoft.NET后端服务进行高效的数据交换和功能调用。Flex以其强大的图形用户界面和丰富的媒体支持,...

    Flex 与asp.net 交互

    通过以上步骤,Flex4能够与Asp.net的WebService进行无缝交互,实现跨平台的数据交换和业务逻辑处理。这种模式在开发复杂的Web应用时非常常见,特别是在需要富客户端体验和强大后端功能的场景下。 总结,Flex4与Asp...

    Flex与asp.net的WebService通讯

    ### Flex与ASP.NET WebService通讯详解 随着技术的发展与跨平台需求的增长,各种技术栈之间的交互变得越来越重要。本文将详细介绍Flex与ASP.NET WebService之间的通讯实现方式,并着重讲解通过SoapHeader进行认证的...

    ASP.NET WebService简单实例

    WebService是一种基于标准的、平台无关的、可互操作的机制,它允许不同系统之间通过网络交换数据。在ASP.NET中,我们可以利用ASP.NET WebService(也称为ASMX服务)来实现这一目标。 创建ASP.NET WebService的步骤...

    Flex基于WebService的数据访问

    Flex与.NET的互操作主要依赖于WebService,因为WebService提供了一种跨平台的数据交换方式。在.NET环境中,我们可以创建一个ASP.NET WebService(ASMX或WCF服务),然后在Flex中通过HTTPService调用这些服务的方法。...

    Flex 与 Asp.Net 通过 Remoting 方式进行通讯

    【Flex与Asp.Net通过Remoting方式进行通讯】是一种在客户端使用Flex进行富互联网应用开发,与服务器端基于Asp.Net的应用进行数据交换的技术。Remoting是远程方法调用的简称,它允许Flex客户端直接调用服务器上的.NET...

    ASP.NET AJAX深入浅出系列课程(4):客户端访问WebService(上):基本使用方式

    ASP.NET AJAX 深入浅出系列课程是一个旨在帮助开发者深入了解和熟练掌握ASP.NET AJAX技术的教程。在第四部分,我们重点关注的是客户端如何通过AJAX技术访问WebService,这是Web应用程序中实现异步交互的关键技术。本...

    asp.net通过WebService调用Java接口全过程

    ASP.NET调用Java接口主要涉及的是跨平台的通信技术,其中关键步骤是通过WebService作为中间桥梁来实现。这里,我们详细解析整个过程: 1. **部署Java WebService**: - 使用Tomcat这样的应用服务器部署Java ...

    在ASP.NET中调用基于HTTP基本认证的WebService接口

    在 ASP.NET 中调用基于 HTTP 基本认证的WebService 接口 在 ASP.NET 中调用基于 HTTP 基本认证的WebService 接口是指在 ASP.NET 应用程序中调用基于 HTTP 基本认证的 Web 服务接口的方法。HTTP 基本认证是一种常用...

    ASP.NET & WebService教学ppt(上)

    2. **页面生命周期管理**:ASP.NET通过一系列步骤管理页面从请求到响应的生命周期,包括初始化、加载、验证、呈现和卸载等阶段。 3. **视图状态**:视图状态是ASP.NET用于在页面回发期间保存控件状态的一种机制,...

    flex + asp.net web应用开发实战详解 code p3

    此外,还会讲解如何创建第一个Flex与ASP.NET交互的简单项目,介绍基本的HTTPService或WebService调用,用于在客户端和服务器之间传递数据。 第14章可能专注于“数据绑定与服务通信”。在这个章节,作者可能会详细...

    asp.net与webservice技术剖析

    asp.net与webservice技术剖析asp.net与webservice技术剖析asp.net与webservice技术剖析asp.net与webservice技术剖析asp.net与webservice技术剖析asp.net与webservice技术剖析

    【ASP.NET编程知识】.NET C#创建WebService服务简单实例.docx

    【ASP.NET编程知识】.NET C#创建WebService服务简单实例.docx

    asp.net post/get方法运用webservice实现IP地址查询

    ASP.NET 是一种强大的Web应用程序开发框架,由微软公司推出,用于构建动态、数据驱动的Web应用。在本项目中,“asp.net post/get方法运用webservice实现IP地址查询”旨在通过这两种HTTP请求方法来调用Web服务,从而...

    用webservice 连接 flex 加 c#.net

    标题中的“用webservice连接flex加c#.net”指的是在开发Web应用程序时,采用Adobe Flex作为前端用户界面,后端使用C#.NET语言,并通过WebService进行数据交互的技术方案。Flex是一种基于ActionScript和MXML的开放源...

Global site tag (gtag.js) - Google Analytics