⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webservice.htc

📁 java开发时好多地方用javascript是很方便的,看看这个,对你有好处.
💻 HTC
📖 第 1 页 / 共 4 页
字号:
return "";
return " " + t.name + '="' + encodePrimitive(oS, t.type, v) + '"';
}
function serPart(oS, oM, a, v)
{
var sz = "";
var szt = '';
if (a.type!=null && isPrimitive(oS, a))
szt = ' xsi:type="xsd:' + a.type + '"';
var oschm = getSchema(oS, a);
var aryItem = a.fArray ? a : getAryElem(oS, oschm, a);
if (aryItem != null)
{
var sArr = getArySizeInfo(aryItem, v);
var oschm = getSchema(oS, aryItem);
if (oschm != null)
aryItem.ns = oS.nsalias[oschm.uri];
var ts = (isPrimitive(oS, aryItem) || aryItem.ns == "")
? "xsd:" : (aryItem.ns + ":");
szt = ' xsi:type="soapenc:Array"'
+ ' soapenc:arrayType="'+ts+aryItem.type+'['+sArr+']"';
}
else
szt = ' xsi:type="' + (a.ns == '' ? '' : (a.ns + ':'))+a.type+'"';
et = (a.elem == null || oschm == null) ? a : oschm.elems[a.elem];
var ar = encodeVar(oS, v, et);
if (oM.fLiteral)
{
if (a.elem == null)
{
if (oM.fWrapped || oM.fRpc)
{
sz += '\n<' + a.name + ar[1] + '>' + ar[0];
sz += '</' + a.name + '>';
}
else
sz += ar[0];
}
else
{
var ns=' xmlns="'+(a.ns==null?oS.targetns:oS.ns[a.ns])+'"';
sz += '\n<' + a.elem + ns + ar[1] + '>' + ar[0];
sz += '</' + a.elem + '>';
}
}
else
{
if (a.type == null)
a.type = a.elem;
var stn = 'mswsb:' + (oM.fRpc ? et.name : et.type);
stn = aryItem == null ? stn : "soapenc:Array";
n = "";
if (oM.fWrapped || oM.fRpc && oM.opname != null)
stn = a.name;
else if (aryItem == null)
n =' xmlns:mswsb="'+(a.ns==null?oS.targetns:oS.ns[a.ns])+'"';
sz += '\n<' + stn + n + szt + ' xmlns=""' + ar[1] + '>' + ar[0];
sz += '</' + stn + '>';
}
return sz;
}
function getWrap(aWrap, oS, oM, argv)
{
if (!oM.fRpc && !oM.fWrapped)
return argv;
var mn = oM.opname;
var pns = oM.fLiteral ? "" : "mswsb:";
var nsq1 = oM.ns;
if (!oM.fRpc)
{
var firstArg = get1stAryItem(argv);
var oschm = getSchema(oS, firstArg);
if (firstArg.type != null)
{
argv = oschm.types[firstArg.type];
mn = firstArg.type;
}
else
{
var e = oschm.elems[firstArg.elem];
oschm = getSchema(oS, e);
mn = null;
if (oschm != null)
{
var et = oschm.types[e.type];
if (et != null)
argv = et;
mn = firstArg.elem;
}
}
nsq1 = oS.ns[firstArg.ns];
}
if (mn == null)
return argv;
var ns1 = nsq1 == null ? oS.targetns : nsq1;
var nsd1 = ' xmlns' + (oM.fLiteral ? '' : ':mswsb') + '="' + ns1 + '"';
aWrap[0] = '\n<'+ pns + mn + nsd1 + (oM.fLiteral?'':' xmlns=""');
aWrap[1] = "</" + pns + mn + ">";
return argv;
}
function encodeArgs(oS, oM, omargs, args, j, fParam)
{
var l = fParam ? 0 : args.length;
var sz = '';
var sa = '';
var aWrap = new Array("", "");
omargs = getWrap(aWrap, oS, oM, omargs);
var i = j;
for (var pn in omargs)
{
var a = omargs[pn];
if (a.elem == null && a.type == null)
return null;
if (!fParam && i >= l)
break;
var argi = fParam ? args[pn] : args[i++];
if (argi == null)
continue;
if (a.fAttrib)
sa += encodeAttrib(oS, argi, a);
else
sz += serPart(oS, oM, a, argi);
}
return aWrap[0] + sa + (aWrap[0].length > 0 ? ">" : "") + sz + aWrap[1];
}
function returnResult(oCall, r)
{
hideProgress();
if (oCall.co.async == false)
{
return r;
}
if (oCall.cb == null)
{
var evt = createEventObject();
evt.result = r;
try { eventResult.fire(evt); } catch (e) {};
}
else
{
try { oCall.cb(r); } catch (e) {};
}
}
function decTZ(s)
{
var a = s.split(':');
if (a.length == 0)
return 0;
var h = parseInt(a[0],10);
return (-h)*60 + (a.length > 1 ? ((h > 0 ? -1:1) * parseInt(a[1],10)) : 0);
}
function applyTZ(d, tzo)
{
d.setTime(d.getTime() + (tzo - d.getTimezoneOffset()) * 60000);
}
function decDate(d, s)
{
var a = s.split('-');
if (a.length < 3)
return;
d.setYear(a[0]);
d.setMonth(parseInt(a[1], 10) - 1);
d.setDate(a[2]);
var tzo = d.getTimezoneOffset();
var tzi = s.indexOf('+');
if (a.length >= 4)
tzo = -decTZ(a[3]);
else if (tzi > 0)
tzo = decTZ(s.substring(tzi, s.length));
else
return;
applyTZ(d, tzo);
}
function decTime(d, s)
{
var tzi = s.indexOf('+');
if (tzi < 0)
tzi = s.indexOf('-');
var a = s.split(':');
if (a.length < 3)
return;
d.setHours(a[0]);
d.setMinutes(a[1]);
d.setSeconds(parseInt(a[2], 10));
var msec = a[2].split('.')[1];
if (msec != null && d.setMilliseconds != null)
d.setMilliseconds(parseInt(msec.substring(0, 3, 10)));
applyTZ(d, tzi < 0 ? 0 : decTZ(s.substring(tzi, s.length)));
}
function decodePrimitive(os, st, o)
{
var r = o.hasChildNodes() ? o.firstChild.nodeValue : o.nodeValue;
if (r == null)
{
if (_st[st] == null || _st[st] == 1)
return '';
return null;
}
switch(_st[st])
{
case 0:
r = eval(r);
break;
case 1 :
break;
case 3 :
case 4:
var aXmlDT = r.split("T");
r = new Date();
if (aXmlDT.length > 0)
{
decDate(r, aXmlDT[0]);
if (aXmlDT.length > 1)
decTime(r, aXmlDT[1]);
}
break;
case 5:
var s = r;
r = new Date();
decTime(r, s);
break;
case 6 :
r = decb64(r, false); break;
case 7 :
r = decb64(r, true); break;
default:
break;
}
return r;
}
function getAryInfo(oS,o)
{
var oAtt = o.attributes.getQualifiedItem("arrayType", oS.ns["soapenc"]);
if (oAtt == null)
return null;
var at = new Array();
var asa= oAtt.value.split("[");
if (asa.length > 1)
parseArrayType(at, asa[1]);
else
at[0] = o.childNodes.length;
return at;
}
function decodeArray(c, a, s, d, o, os, osc, t, e, aNodes, fSimple)
{
for (var i = 0; i < s[d-1]; i++)
{
if (d == s.length)
a[i] = decodeAryItem(os, osc, t, e, o[c++], aNodes, fSimple);
else
{
a[i] = new Array();
c = decodeArray(c, a[i], s, d+1, o, os, osc, t, e, aNodes, fSimple);
}
}
return c;
}
function decodeAryItem(os, osc, t, e, v, aNodes, fSimple)
{
if (fSimple)
return decodePrimitive(os, e.type, v);
var sr = getAttrib(v, "href");
if (sr != null && sr.charAt(0) == '#')
v = aNodes[sr.substring(1, sr.length)];
var e1 = getAryElem(os, osc, e);
if (e1 == e || e1 == null)
return decodeType(os, t, v, aNodes);
else
return decodeElem(os, e1, v, aNodes);
}
function getAryElem(os, oschm, e)
{
if (oschm == null)
return null;
var e1 = get1stAryItem(oschm.types[e.type]);
return (e1 != null && e1.fArray) ? e1 : null;
}
function decodeElem(os, e, o, aNodes)
{
var oschm = getSchema(os, e);
if (isSimpleType(os, oschm, e) && !e.fArray)
{
var stype = oschm == null ? e.type : oschm.sTypes[e.type];
return decodePrimitive(os, stype, o);
}
var ae = e.fArray ? e : getAryElem(os, oschm, e)
if (ae != null)
{
var ai = getAryInfo(os, o);
o2 = o.childNodes;
if (ai == null)
{
ai = ae.sizeArray;
if (ai == null)
{
ai = new Array();
ai[0] = o2.length;
}
}
if (ai.length == 1 && ai[0] == null)
ai[0] = o2.length;
oschm = getSchema(os, ae);
var r = new Array();
var fSimple = isSimpleType(os, oschm, ae);
decodeArray(0, r, ai, 1, o2, os, oschm,
fSimple ? null : oschm.types[ae.type], ae, aNodes, fSimple);
return r;
}
if (oschm == null)
return null;
var t1 = oschm.types[e.type];
if (t1 == null)
{
return o;
}
return decodeType(os, t1, o, aNodes);
}
function decodeType(os, ot, o, aNodes)
{
if (ot == null)
return null;
var j = -1;
if (typeof ot.type == 'string')
return decodeElem(os, ot, o, aNodes);
var or = new Array();
for (var sn in ot)
{
j++;
t1 = ot[sn];
if (t1.fAttrib == true)
{
var attrib = o.attributes.getNamedItem(sn);
if (attrib != null)
or[sn] = attrib.value;
continue;
}
var o1 = o.selectSingleNode(sn);
var fHasKids = o1 != null;
if (o1 ==null)
o1 = getAryInfo(os,o)==null&&o.hasChildNodes() ? o.childNodes[j]:o;
if (o1 == null)
continue;
var st = t1.type;
if (st == null)
{
var oschm = getSchema(os, t1);
if (t1.elem == null || oschm == null)
or[sn] = null;
else
or[sn] = decodeElem(os, oschm.elems[t1.elem], o1, aNodes);
continue;
}
if (!o1.hasChildNodes())
{
var sr = null;
sr = getAttrib(o1, "href");
if (sr != null && sr.charAt(0) == '#')
{
o1 = aNodes[sr.substring(1, sr.length)];
}
else if (isSimpleType(os, getSchema(os, t1), t1))
{
or[sn] = decodePrimitive(os, st, o1);
continue;
}
else if (!fHasKids)
{
or[sn] = null;
continue;
}
}
or[sn] = decodeElem(os, t1, o1, aNodes);
}
return or;
}
function processResult(oC, oResult)
{
var r = new Object();
r.id = oC.id;
r.error = true;
if (oResult == null)
{
if (oC.oM.fOneWay)
r.error = false;
else
r.errorDetail = _errUnknownS;
return returnResult(oC, r);
}
var pf = oResult.prefix;
var ns = pf == null || pf == "" ? "" : (pf + ":");
var oS = _sdl[oC.service];
if (oS == null || oS.fPending)
{
r.errorDetail = _errNotReady;
return returnResult(oC, r);
}
var oHeader = oResult.selectSingleNode(ns + "Header");
if (oHeader != null)
{
var ht = oC.oM.hdrsOut;
var rh = new Array();
var oHdrs = oHeader.childNodes;
var nodesRef = new Array();
for (var i = 0; i < oHdrs.length; i++)
{
if (ht[i] == null)
break;
var he = ht[i].type;
if (he.elem != null)
{
he = getSchema(oS, he).elems[he.elem];
rh[i] = decodeElem(oS, he, oHdrs[i], nodesRef);
}
else if (he.type != null)
{
he = getSchema(oS, he).types[he.type];
rh[i] = decodeType(oS, he, oHdrs[i], nodesRef);
}
}
if (ht.length == 1)
r.SOAPHeader = rh[0];
else
r.SOAPHeader = rh;
}
var oBody = oResult.selectSingleNode(ns + "Body");
if (oBody == null)
{
r.errorDetail = _errInvalRes;
return returnResult(oC, r);
}
var aryFault = oBody.selectNodes(ns + "Fault");
if (aryFault.length > 0)
{
r.errorDetail = new Object();
var ac = aryFault[0].selectNodes(ns+"faultcode");
if (ac.length == 0)
ac = aryFault[0].selectNodes("faultcode");
r.errorDetail.code=ac.length > 0 ? ac[0].firstChild.nodeValue:"Unknown";
var as = aryFault[0].selectNodes(ns+"faultstring");
if (as.length == 0)
as = aryFault[0].selectNodes("faultstring");
if (as.length > 0 && as[0].hasChildNodes())
r.errorDetail.string= as[0].firstChild.nodeValue;
else
r.errorDetail.string= "";
r.errorDetail.raw = oResult;
return returnResult(oC, r);
}
r.error = false;
r.raw   = oResult;
var args = oC.oM.response.args;
var l = oC.oM.response.argl;
if (args == null || l == 0)
{
r.value = null;
return returnResult(oC, r);
}
var arg0 = get1stAryItem(args);
var o = oC.oM.fRpc || oC.oM.fWrapped ? oBody.firstChild : oBody;
if (o == null)
{
r.value = null;
return returnResult(oC, r);
}
if (!oC.oM.fRpc && oC.oM.fWrapped)
{
var oschm = oS.schemas[oS.ns[arg0.ns]];
if (oschm != null)
{
if (arg0.elem != null)
{
arg0 = oschm.elems[arg0.elem];
if (isSimpleType(oS, getSchema(oS, arg0), arg0))
{
args = new Array();
args[arg0.name] = arg0;
}
else
args = oschm.types[arg0.type];
}
else
args = oschm.types[arg0.type];
}
l = getArySize(args);
}
var aryNwId = o.selectNodes("//*[@id]");
var aNodes = new Array();
for (var i = 0; i < aryNwId.length; i++)
{
aNodes[getAttrib(aryNwId[i], "id")] = aryNwId[i];
}
var ar = decodeType(oS, args, o, aNodes);
if (l == 1)
{
for (var i in ar)
{
r.value = ar[i];
break;
}
}
else
r.value = ar;
return returnResult(oC, r);
}
function hideProgress()
{
if (_mProg == null || _mProg.parentElement == null)
return;
element.document.body.removeChild(_mProg);
}
function getResult(oC)
{
if (oC == null) return;
var oS = _sdl[oC.service];
var xmlHttp = oC.oXmlHttp.xmlHttp;
if (xmlHttp == null || xmlHttp.readyState != 4) return;
if (oC.fDone)
return;
oC.fDone = true;
if (xmlHttp.responseXML.parseError.errorCode != 0)
{
_errUnknownS.raw = xmlHttp.responseText;
returnError(oC, 4);
}
else
{
try
{
processResult(oC, xmlHttp.responseXML.documentElement);
}
catch (e)
{
returnError(oC, 7);
}
}
oC.oXmlHttp.fFree = true;
callNext(oS);
}
// -->
</SCRIPT>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -