package myComponets
{
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
import mx.controls.Alert;
import mx.managers.CursorManager;
public class HttpService
{
private var _fileName:String = "";
private var strErr:String = "";
private var configXML:XML = null;
private var _callBackHandler:Function;
private var _faultHandler:Function;
public function HttpService():void
{
//this._callBackHandler = configResult;
//this._faultHandler = configFault;
//this._fileName = strConfigName;
}
public function CreateHttpService():void
{
var configService:HTTPService = new HTTPService();
configService.url = this._fileName;
configService.resultFormat = "e4x";
configService.addEventListener(ResultEvent.RESULT, this.callBackHandler);
configService.addEventListener(FaultEvent.FAULT, this.faultHandler);
configService.send();
}
//获取配置文件失败处理函数
private function configFault(event:mx.rpc.events.FaultEvent):void
{
var strMsg:String = "Error: ";
strMsg+= "Event Target: " + event.target + "\n\n";
strMsg+= "Event Type: " + event.type + "\n\n";
strMsg+= "Fault Code: " + event.fault.faultCode + "\n\n";
strMsg+= "Fault Info: " + event.fault.faultString;
strErr = strMsg;
}
//获取配置文件成功处理函数
private function configResult(event:ResultEvent):void
{
try
{
configXML = event.result as XML;
}catch(error:Error){
strErr = error.message.toString();
}
}
public function set callBackHandler(callBackHandler:Function):void
{
this._callBackHandler = callBackHandler;
}
public function get callBackHandler():Function
{
return this._callBackHandler;
}
public function set faultHandler(faultHandler:Function):void
{
this._faultHandler = faultHandler;
}
public function get faultHandler():Function
{
return this._faultHandler;
}
public function set fileName(value:String):void
{
_fileName += value;
}
public function get ConfigXML():XML
{
return configXML;
}
public function get ErrMsg():String
{
return strErr;
}
}
}