温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Flex与.NET互操作中基于WebService数据访问的示例分析

发布时间:2021-12-16 16:35:44 来源:亿速云 阅读:126 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关Flex与.NET互操作中基于WebService数据访问的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

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

连接WebService

首先看看如下代码块:

1<mx:WebServiceidmx:WebServiceid="dataService" 2wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl" 3useProxy="false"> 4<mx:operationnamemx:operationname="HelloWorld"result="onSuccess(event)"fault="onFault(event)"/> 5<mx:operationnamemx:operationname="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]  6publicstringHelloWorld()  7{  8return"HelloWorld";  9}  10  11///<summary> 12///返回一个简单对象  13///</summary> 14///<returns></returns> 15[WebMethod]  16publicBookGetBook()  17{  18returnnewBook  19{  20Id=1,  21Name="三国演义",  22Author="罗贯中",  23Price=100 24};  25}


调用WebService所定义方法

完整流程,下面我们来看看在Flex的客户端怎么去调用WebService所定义的方法:

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

给WebService方法传递参数

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

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

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

1<mx:operationnamemx:operationname="ConvertToUpper"result="onSuccess(event)"fault="onFault(event)"/> 1/**  2*向WebService发起请求  3**/  4internalfunctiononRequest():void  5{  6//dataService.HelloWorld();  7dataService.ConvertToUpper("abcdefg");  8}

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

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

1internalfunctiononObject():void  2{  3dataService.GetBook();  4}  5  6internalfunctiononObjectSuccess(evt:ResultEvent):void  7{  8//直接通过事件的result属性得到返回值,然后直接访问属性便OK  9Alert.show(evt.result.Name);  10}  11  12/**  13*请求失败的处理函数  14**/  15internalfunctiononFault(evt:FaultEvent):void  16{  17Alert.show("访问WebService失败!");  18}如上便完成了服务端的WebService返回对象到客户端的调用。

关于“Flex与.NET互操作中基于WebService数据访问的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI