package myComponets
{
import mx.managers.CursorManager;
import mx.rpc.AbstractOperation;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.SOAPHeader;
import mx.rpc.soap.WebService;
public class MyWebService extends WebService
{
private var _callBackHandler:Function;
private var _faultHandler:Function;
private var _args:Array;
private var ws:WebService;
/** * Construct * @wsdl:webservice url */
private var wsUrl:String = " http://xxx.xxx.xxx.xxx/webservice/WebService.asmx?wsdl";
public function MyWebService( url:String)
{
super();
this.wsdl = url || wsUrl;
this.loadWSDL();
//CursorManager.setBusyCursor();
}
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._faultHandler = faultHandler;
}
public function get faultHandler():Function
{
return this._faultHandler;
}
public function initHeader(header:SOAPHeader):void
{
this.clearHeaders();
this.addHeader(header);
}
public function sendOperation(functionName:String):void
{//根据方法名动态调用WebService服务器的方法
var operation:AbstractOperation = this.getOperation(functionName);
//为调用的方法添加监听器,回调函数由外部动态传入
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();
}
}
}
{
import mx.managers.CursorManager;
import mx.rpc.AbstractOperation;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.SOAPHeader;
import mx.rpc.soap.WebService;
public class MyWebService extends WebService
{
private var _callBackHandler:Function;
private var _faultHandler:Function;
private var _args:Array;
private var ws:WebService;
/** * Construct * @wsdl:webservice url */
private var wsUrl:String = " http://xxx.xxx.xxx.xxx/webservice/WebService.asmx?wsdl";
public function MyWebService( url:String)
{
super();
this.wsdl = url || wsUrl;
this.loadWSDL();
//CursorManager.setBusyCursor();
}
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._faultHandler = faultHandler;
}
public function get faultHandler():Function
{
return this._faultHandler;
}
public function initHeader(header:SOAPHeader):void
{
this.clearHeaders();
this.addHeader(header);
}
public function sendOperation(functionName:String):void
{//根据方法名动态调用WebService服务器的方法
var operation:AbstractOperation = this.getOperation(functionName);
//为调用的方法添加监听器,回调函数由外部动态传入
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();
}
}
}