//---------------------------------------------------------------------------------- // WebServiceClass // - Requires: ResponderClass.as //---------------------------------------------------------------------------------- // Created and copyright held by: // Jesse R. Warden (jesterxl@jessewarden.com) // April 23, 2003 //---------------------------------------------------------------------------------- // A web service wrapper class. Supports listeners via callMethod, // or callbacks via callMethodAndRespond. Can be used with WebServiceQueue. //---------------------------------------------------------------------------------- // License For Use //---------------------------------------------------------------------------------- // Redistribution and use in source and binary forms, with or without modification, // are permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // 3. The name of the author may not be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING // IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY // OF SUCH DAMAGE. //---------------------------------------------------------------------------------- _global.WebServiceClass = function(gatewayConnection, serviceURL){ if(ResponderClass == null){ trace("*** JXL Says: You cannot use WebServiceClass.callMethodAndRespond without ResponderClass installed, only callMethod ***"); } this.init.apply(this, arguments); }; WebServiceClass.prototype.init = function(gatewayConnection, serviceURL){ ASBroadcaster.initialize(this); this.gatewayConnection = gatewayConnection; this.service = this.gatewayConnection.getService(serviceURL); }; WebServiceClass.prototype.callMethod = function(methodName, arg1, arg2, argN){ arguments.shift(); arguments.unshift(this); this.service[methodName].apply(this.service, arguments); }; WebServiceClass.prototype.callMethodAndRespond = function(methodName, callback_obj, resultHandler, statusHandler, arg1, arg2, argN){ // my check for the existance of ResponderClass if(ResponderClass == null){ trace("*** JXL Says: ERROR ***"); trace("WebServiceClass.callMethodAndRespond will not work without ResponderClass"); trace("If you are going to call this method, make sure you have the ResponderClass included"); trace("***********************"); } for(var i=0; i<4; i++){ arguments.shift(); } var responder = new ResponderClass(callback_obj, resultHandler, statusHandler); arguments.unshift(responder); this.service[methodName].apply(this.service, arguments); }; WebServiceClass.prototype.onResult = function(){ arguments.unshift("onResult"); this.broadcastMessage.apply(this, arguments); }; WebServiceClass.prototype.onStatus = function(){ arguments.unshift("onStatus"); this.broadcastMessage.apply(this, arguments); };
WebServiceClass.as
最新推荐文章于 2023-08-16 09:11:01 发布