构造自己的webservice api(flashmx2004 professional)

来源:互联网 发布:中国防化兵数据 编辑:程序博客网 时间:2024/06/04 17:45

class pack.services.MyWebService{
    /*
    * webservice object
    */
    private var webService:mx.services.WebService;
    /*
    * record service's address
    */
    private var WSDL:String;
    /*
    * service's call back object
    */
    public var callBack:Object;
    /**
    * constructure
    * @param address:webservice's address
    */
    function MyWebService(address:String){
        WSDL = address;
        this.webService = new mx.services.WebService(address);
        this.webService.WSDL=address;
        this.webService.onFault=onLoadFault;
    }
    /**
    * call service's method
    * @param methodName:the method which called
    * @param object:paramaters the method required
    * @param resultFunction:function which to do after the called success
    * @param statusFunction:function which to do when call the method fail
    */
    function accessRemote(methodName:String, object:Object, resultFunction:Function, statusFunction:Function){
        this.callBack = this.webService[methodName](object);
        this.callBack.onResult = resultFunction;
        this.callBack.onFault = statusFunction;
    }
 
    /**
    * when load service fail,do this function
    */
    function onLoadFault(fault){
     trace("load service " +WSDL + "error--->"+ fault.faultcode);
    }
}

使用方法:

var myService = new pack.services.MyWebService("http://localhost:8080/axis/services/SmsService?wsdl");
var message = new pack.model.Message();
message.setContents("我是一匹来自北方的狼");
message.setFrom("哈尔滨");
message.setPriority(123456);
message.setTo("上海");
myService.accessRemote("send",message, onResult, onFault);

function onResult(result){
    trace("call service ok---->" + result.code);
}

function onFault(fault){
    trace("call service fault--->" + fault.faultcode);
}

原创粉丝点击