flex WebService, AsyncToken用法

转载 2013年12月02日 09:10:32
进入主题先了解下wsdl文档提供的信息,在日常开发中,不可能手工分析wsdl的文档信息,绝大多数发完Web服务的组织都会提一份文档,描述需要发送的参数和将要收到内容,还会告诉使用者可以调用那些方法在flex开发总继承web服务很简单往往需要几行代码....但无论是那种方式都要配置发送的参数和处理要返回值的方法...这就需要我们略懂一些wsdl的文档中到底定义的那些内容,已定义的方法,可参数尤其是参数在flex定义中要用的 
flex WebService 使用 
flex WebService AsyncToken使用 

flex WebService 使用 
先过一遍wsdl提供的信息: 
 

按照上图提示一步一步向上看 
wsdl的文档详细讲解参见: 
http://daoexception.iteye.com/blog/510122 
1.flex mxml中使用webService 

 

1.flex ActionScript中使用webService 

 


flex WebService AsyncToken使用 
Responder () 构造函数 

public function Responder(result:Function, fault:Function) 

使用指定的处理函数构造 responder 的实例。 

参数  result:Function — 成功完成请求时应调用的函数。  
  
fault:Function — 请求完成但出错时应调用的函数。  

使用时:token.addResponder(myResponder); 

Flex代码  收藏代码
  1. <mx:Script>  
  2.     <![CDATA[  
  3.         import mx.rpc.AsyncToken;  
  4.         import mx.rpc.Responder;  
  5.         import mx.rpc.events.ResultEvent;  
  6.         import mx.rpc.soap.LoadEvent;  
  7.         import mx.rpc.AbstractOperation;  
  8.         import mx.rpc.soap.WebService;  
  9.         import mx.rpc.events.FaultEvent;  
  10.         import mx.controls.Alert;  
  11.         import mx.rpc.soap.WebService;  
  12.         private var ws:WebService;  
  13.         private var responder:mx.rpc.Responder;  
  14.         private var wsdl:String="http://localhost:8989/WebServiceDemo/services/WebServiceDemo?wsdl";  
  15.         private function initFunc():void  
  16.         {  
  17.             ws=new WebService();  
  18.             ws.wsdl = wsdl;  
  19.             ws.requestTimeout = 300;  
  20.             if (ws.canLoadWSDL())   {  
  21.                 ws.loadWSDL();  
  22.             }  
  23.             var token:AsyncToken = ws.example(txtWord.text,null);  
  24.             var da:mx.rpc.Responder=new mx.rpc.Responder(Response_Result, Response_Fault);  
  25.                 /**  
  26.              * var da:mx.rpc.Responder=new mx.rpc.Responder 当你读到这块时会认为  
  27.              *  new mx.rpc.Responder 是个多余的写法 简写成 var ...=new Responder...  
  28.              * 可是在flah.net.Responder 也有同样的类名而且是默认导入的....只能这样声明  
  29.              * 不信可以试var da:mx.rpc.Responder=new Responder(Response_Result, Response_Fault);  
  30.              * 当光标放在 new Responder 提示的类型却是 flash.net.Responder....  
  31.              **/  
  32.             token.otherMessage = "myTestMethod Failed";//添加自定义属性  
  33.             token.addResponder(da);  
  34.         }  
  35.         private function Response_Result(e:ResultEvent):void{  
  36.             var resultStr:String;  
  37.             var otherMessage:String;  
  38.             ws.getOperation("example");//webservie有多个方法时时根据 getOperation()中的name参数获取对应的方法  
  39.             resultStr=e.token.result.toString();// token result   
  40.             txtResult.text=resultStr;  
  41.             otherMessage=e.token.otherMessage;//获取自定义属性  
  42.             Alert.show("Web Service AsyncToken result "+otherMessage,"success");  
  43.         }  
  44.           
  45.         private function Response_Fault(e:FaultEvent):void  
  46.         {  
  47.             Alert.show(e.fault.message,"Web Service  Response Error");  
  48.         }  
  49.     ]]>  
  50.    </mx:Script>  



相关文章推荐

Flex异步令牌AsyncToken的用法介绍

什么是AsyncToken?官方文档是这样描述的:"这个类针对异步RPC操作提供了一个用来设置额外的或者令牌级数据的地方。它也允许一个IResponder作为一个独立调用被附加。这个AsyncToke...
  • wbn1984
  • wbn1984
  • 2011年03月03日 19:10
  • 625

php WebService用法实例

  • 2011年10月08日 11:12
  • 2KB
  • 下载

flex webservice获取城市的天气情况

global{ fontSize:12pt; }

flex调用webservice中的datatable结果写入datagrid

flex调用webservice中的datatable结果写入datagrid

Flex连接WebService例子

Flex连接后台数据有四种:WebService、HTTPService、RemoteObject、Socket,其中Webservice和HTTPService数据传输格式都是XML,数据传输量较大...

flex调用webservice返回xml格式字符串,并遍历

flex 数据传输 httpservice, webservice, RemoteObject, socket

原文地址:http://hi.baidu.com/zhao_gw/blog/item/3a4a2ac422196ba58226acd9.html Flex数据交互方法- httpservice,...
  • kvgnt
  • kvgnt
  • 2011年09月03日 15:50
  • 1063

使用Flex访问ASP.net写的WebService .

使用Flex程序作为客户端访问用ASP.net写的Web服务的过程如下: 1。使用VS新建一个ASP.net Webservice Website,假设命名为Website9。编写一个Hello...

Flex跨域调用Webservice 问题 解决 Channel.Security.Error

环境:arcgis 10 server,map,catalog,flex2.5,xp系统上的IIS6.0 问题症状:catalog建立发布好服务后,用flex viewer调用服务显示提示提示错误,...

flex访问webService获取手机号归属地

global{ fontSize:12pt; }
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:flex WebService, AsyncToken用法
举报原因:
原因补充:

(最多只允许输入30个字)