浏览 4571 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-18
最后修改:2011-06-18
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); <mx:Script> <![CDATA[ import mx.rpc.AsyncToken; import mx.rpc.Responder; import mx.rpc.events.ResultEvent; import mx.rpc.soap.LoadEvent; import mx.rpc.AbstractOperation; import mx.rpc.soap.WebService; import mx.rpc.events.FaultEvent; import mx.controls.Alert; import mx.rpc.soap.WebService; private var ws:WebService; private var responder:mx.rpc.Responder; private var wsdl:String="http://localhost:8989/WebServiceDemo/services/WebServiceDemo?wsdl"; private function initFunc():void { ws=new WebService(); ws.wsdl = wsdl; ws.requestTimeout = 300; if (ws.canLoadWSDL()) { ws.loadWSDL(); } var token:AsyncToken = ws.example(txtWord.text,null); var da:mx.rpc.Responder=new mx.rpc.Responder(Response_Result, Response_Fault); /** * var da:mx.rpc.Responder=new mx.rpc.Responder 当你读到这块时会认为 * new mx.rpc.Responder 是个多余的写法 简写成 var ...=new Responder... * 可是在flah.net.Responder 也有同样的类名而且是默认导入的....只能这样声明 * 不信可以试var da:mx.rpc.Responder=new Responder(Response_Result, Response_Fault); * 当光标放在 new Responder 提示的类型却是 flash.net.Responder.... **/ token.otherMessage = "myTestMethod Failed";//添加自定义属性 token.addResponder(da); } private function Response_Result(e:ResultEvent):void{ var resultStr:String; var otherMessage:String; ws.getOperation("example");//webservie有多个方法时时根据 getOperation()中的name参数获取对应的方法 resultStr=e.token.result.toString();// token result txtResult.text=resultStr; otherMessage=e.token.otherMessage;//获取自定义属性 Alert.show("Web Service AsyncToken result "+otherMessage,"success"); } private function Response_Fault(e:FaultEvent):void { Alert.show(e.fault.message,"Web Service Response Error"); } ]]> </mx:Script> ![]() 详细参见代码:有wsdl方便测试 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |