支持android webview调用,请求wsdl使用异步,加timeout配置,否则在服务未启用时,页面会卡死,很长时间(几分钟)async:true,timeout:2000(毫秒)
调式android webview页面小技巧:USB连接手机,在PC edge浏览器(chrome浏览器是chrome://)中键入edge://inspect即可,找到webview,点击inspect,查看网页输出
(2021-07-02)优化,解决DataSet多个table,无数据行表返回空问题,减少前端非空判断,直接判断表行数即可。
/*****************************************************************************\
Javascript "SOAP Client" library
@version: 2.4 - 2007.12.21
@author: Matteo Casati - http://www.guru4.net/
\*****************************************************************************/
function SOAPClientParameters() {
this._pp = new Array();
this.add = function(name, value) {
this._pp[name] = value;
return this;
}
this.all = function() {
return this._pp;
}
this.toXml = function() {
var xml = "";
for (var p in this._pp) {
switch (typeof (this._pp[p])) {
case "string":
case "number":
case "boolean":
case "object":
xml += "<" + p + ">" + SOAPClientParameters._serialize(this._pp[p]) + "</" + p + ">";
break;
default:
break;
}
}
return xml;
}
}
SOAPClientParameters._serialize = function(o) {
var s = "";
if(o === null || o === undefined) return s;
switch (typeof (o)) {
case "string":
s += o.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"); break;
case "number":
case "boolean":
s += o.toString(); break;
case "object":
// Date
if (o.constructor.toString().indexOf("function Date()") > -1) {
var year = o.getFullYear().toString();
var month = (o.getMonth() + 1).toString(); month = (month.length == 1) ? "0" + month : month;
var date = o.getDate().toString(); date = (date.length == 1) ? "0" + date : date;
var hours = o.getHours().toString(); hours = (hours.length == 1) ? "0" + hours : hours;
var minutes = o.getMinutes().toString(); minutes = (minutes.length == 1) ? "0" + minutes : minutes;
var seconds = o.getSeconds().toString(); seconds = (seconds.length == 1) ? "0" + seconds : seconds;
var milliseconds = o.getMilliseconds().toString();
var tzminutes = Math.abs(o.getTimezoneOffset());
var tzhours = 0;
while (tzminutes >= 60) {
tzhours++;
tzminutes -= 60;
}
tzminutes = (tzminutes.toString().length == 1) ? "0" + tzminutes.toString() : tzminutes.toString();
tzhours = (tzhours.toString().length == 1) ? "0" + tzhours.toString() : tzhours.toString();
var timezone = ((o.getTimez