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