FLEX实践—动态执行WebService方法

本文介绍了一种简化WebService调用的方法,通过创建BaseWebService类减少重复代码,实现动态调用WebService服务,提高了开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看一段代码:
var ws:WebService ;

 

//调用WebService服务端发布的login(username,password)方法

private function doLogin():void{

  ws = new WebService();

  ws.wsdl = "http://localhost:9090/HelloWorld/LoginService?wsdl";

  ws.loadWSDL();

//调用login方法,方法参数为username,password

  ws.login.addEventListener(ResultEvent.RESULT,loginSuccessHandler);

  ws.login.addEventListener(FaultEvent.FAULT,loginFailHandler);

  ws.login("meteor","123");

}

private function loginSuccessHandler(event:ResultEvent):void{

  Alert.show("Login Successful!");

}

private function loginFailHandler(event:FaultEvent):void{

  Alert.shor("Login fail!");

}

 

//调用WebService服务端发布的getInfo()方法

private function doLogin():void{

  ws = new WebService();

  ws.wsdl = "http://localhost:9090/HelloWorld/getInfoWervice?wsdl";

  ws.loadWSDL();

//调用getInfo方法

  ws.getInfo.addEventListener(ResultEvent.RESULT,getInfoHandler);

  ws.getInfo.loginaddEventListener(FaultEvent.FAULT,faultHandler);

  ws.getInfo();

}

private function getInfoHandler(event:ResultEvent):void{

  Alert.show("Get info Successful!");

}

private function faultHandler(event:FaultEvent):void{

  Alert.shor(event.fault.message);

}

 

以上代码中存在很多重复片段:每次调用WebService,都要写重复的代码。下面来创建一个动态的WebService服务类

 

在mxml中调用

var ws:BaseWebService;
private function login():void{

  ws = new BaseWebService();

  ws.initWsdl("http://localhost:9090/HelloWorld/getInfoWervice?wsdl");

  ws.sendOperation("login");

  ws.callBackHandler = loginSuccessHandler;

  ws.faultHandler = loginFailHandler;
  var arr:Array = new Array();
  arr.push("meteor");
  arr.push("123");

  ws.sendOperation("login",arr);

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值