var xmlServiceHttp; var xmlServiceDoc; var responseStatus = 200; var requestResult = ""; function createxmlServiceHttpRequest() { if (window.ActiveXObject) { xmlServiceHttp = new ActiveXObject("Microsoft.xmlHttp"); } else if (window.xmlServiceHttpRequest) { xmlServiceHttp = new xmlServiceHttpRequest(); } } Array.prototype.append = function(obj) { this[this.length] = obj; } function Param(index, type, value) { this.index = index; this.type = type; this.value = value; } function Service(serviceID) { this.serviceID = serviceID; } Service.prototype = { serverID : "", params : new Array()}; Service.prototype.invokeTest = function() { return this.serviceID; } Service.prototype.addParam = function(param) { this.params[param.index - 1] = param; } Service.prototype.setInt = function(idx, pvalue) { var param = new Param(idx, "int", pvalue); this.addParam(param); } Service.prototype.setBoolean = function(idx, pvalue) { var param = new Param(idx, "boolean", pvalue); this.addParam(param); } Service.prototype.setByte = function(idx, pvalue) { var param = new Param(idx, "byte", pvalue); this.addParam(param); } Service.prototype.setDouble = function(idx, pvalue) { var param = new Param(idx, "double", pvalue); this.addParam(param); } Service.prototype.setFloat = function(idx, pvalue) { var param = new Param(idx, "float", pvalue); this.addParam(param); } Service.prototype.setLong = function(idx, pvalue) { var param = new Param(idx, "long", pvalue); this.addParam(param); } Service.prototype.setShort = function(idx, pvalue) { var param = new Param(idx, "short", pvalue); this.addParam(param); } Service.prototype.setString = function(idx, pvalue) { var param = new Param(idx, "string", pvalue); this.addParam(param); } function formInput(service) { var inputStr = " " + service.serviceID + " "; inputStr += ""; var params = service.params; for (var i = 0; i < params.length; i++) { var param = params[i]; inputStr += ""; inputStr += param.value + ""; } inputStr += " "; return inputStr; } function handleServiceStateChange() { this.xmlServiceDoc = xmlServiceHttp.responseXML; } function getResponseStatus() { return this.xmlServiceDoc.getElementsByTagName("status")[0].childNodes[0]. nodeValue; } function getRequestResult() { var result; try{ result = this.xmlServiceDoc.getElementsByTagName("value")[0].childNodes[0].nodeValue; }catch(e){ result = "500,ϵͳæ!"; } return result; } Service.prototype.invoke = function() { var inputXml = formInput(this); createxmlServiceHttpRequest(); xmlServiceHttp.open("POST", "/ptxsoa/AjaxAdapter", false); xmlServiceHttp.onreadystatechange = handleServiceStateChange; xmlServiceHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); xmlServiceHttp.send(inputXml); }