文档详情

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

发布:2017-09-24约字共14页下载文档
文本预览下载声明
Flex与.NET互操作(二):基于WebService的数据访问(上) ?????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
显示全部
相似文档