首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex 封装webervice解决方法

2013-01-25 
flex 封装webervicepackage myComponets {import mx.rpc.AbstractOperationimport mx.rpc.events.FaultEv

flex 封装webervice
package myComponets 
{
import mx.rpc.AbstractOperation;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.SOAPFault;
import mx.rpc.soap.SOAPHeader;
import mx.rpc.soap.WebService;
import mx.managers.CursorManager;

public class MyWebservice extends WebService
{
 private  var _callBackHandler:Function;
 private  var _faultHandle:Function;
 private  var   _args:Array;
 private  var ws:WebService;
 
private  var wsUrl:String="http://ws.huaien.com/MenuServices.asmx?WSDL"; 

public function MyWebservice(url:String)
{
super();
this.wsdl=url||wsUrl
this.loadWSDL();
}

  public function  set callBackHandler(callBackHandler:Function):void{
  
     this._callBackHandler=callBackHandler;
  }
  
  public function get callBackHandler():Function{
  
      return  this._callBackHandler;
  }
  public function   set  args(args:Array):void{
   
     this._args =args;
  }
  public  function  get  args():Array{
      return   this._args;
  
  }
   public  function  set faultHandler(faultHandler:Function):void{
   
      this._faultHandle=faultHandler;
   
   }
    public  function  get  faultHandler():Function{

    return this.faultHandler;
}
 public function  initHeader(header:SOAPHeader):void{
     this.clearHeaders();
 this.addHeader(header);
 }
 public  function sendOperation(SX:String):void{
 //根据方法名动态调用WebService服务器的方法
 var operation:AbstractOperation = this.getOperation(SX);
 //为调用的方法添加监听器,回调函数由外部动态传入
 operation.addEventListener(ResultEvent.RESULT, this.callBackHandler);
//为调用的方法添加错误监听器,如果传入的错误处理方法为空,则调用默认的处理方法
 if(this.faultHandler!=null){
 operation.addEventListener(FaultEvent.FAULT, this.faultHandler);
 }else{
 operation.addEventListener(FaultEvent.FAULT,defaultFaultHandler);
 }
  //为调用的方法某参数,参数类型为Array
 operation.arguments=this._args;
  //执行调用的方法
 operation.send();
 } 
 private  function  defaultFaultHandler(event:FaultEvent):void{
 CursorManager.removeBusyCursor(); 
 }
}
}

这个好像只能传一个SX方法这里我该怎么考虑,要是我.net后台web服务封装了很多方法,而且可能请求的参数并只是一个呢,
   我该怎么考虑 qq 342563828 这个类里面的文件我该怎么去修改呢。

[解决办法]
这不是很明显吗this._args这是参数列表啊。想传几个就传几个,我不知道你想要干什么,SX不是随便一个方法名么,想说清楚的话联系我qq348475359,注明来意

热点排行