flex WebService, AsyncToken用法

进入主题先了解下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>  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值