<script>
// 将json对象转化为xmlfunction toXml(obj){ var xml = ""; for(var k in obj){ var v = obj[k]; if(typeof(v)!="object"){ xml += "<" + k + ">" + v + "</" + k + ">"; }else{ xml += "<" + k + ">"; xml += toXml(v); xml += "</" + k + ">"; } } return xml;}// 构建soap调用字符串
// name : 方法名称// args : 附属json参数// ns : 方法的namespacefunction toSoap(name, args, ns){ var msg = ''; msg += '<v:Envelope\r\n'; msg += ' xmlns:i="; msg += ' xmlns:d="; msg += ' xmlns:c="; msg += ' xmlns:v="; msg += ' >\r\n'; msg += ' <v:Header/>\r\n'; msg += ' <v:Body>\r\n'; msg += ' <' + name + ' xmlns="' + ns + '" id="o0" c:root="1">\r\n'; msg += ' ' + toXml(args) + "\r\n"; msg += ' </' + name + '>\r\n'; msg += ' </v:Body>\r\n'; msg += '</v:Envelope>\r\n'; return msg;}//var o = {a:1, b:"xx", c:{c1:3, c2:"ww"}};
//alert(toXml(o));var o = { zi_tid:'XQ9Fasfi+7wBswdfgsszCw==', zi_isre:1, key:null, row:10, skip:0, code:'iJRgfsfsjQyO4' };var soap = toSoap('ListInfo', o, 'AuthorityServicewsdl');alert(soap);</script>
ps. 这段脚本在调用php的webservice时会用到(用标准的soap协议),aspnet的webservice既实现了标准的soap也实现了普通的get/post方式,调用简单很多。