2024年4月22日发(作者:姚雨琴)
使用javascript调用webservice示例
再javascript中使用soap调用webservice的示例代码
代码再IE6和FF测试通过,对于c#写的webservice和java(xfire)写的,都测试过,没有
问题
此代码原型来源于 / 的javascript soapclient
发现这个下载的js只能用于调用c#的webservice,所以利用mootools,重新封装,达
到IE和火狐的兼容的同时,兼容java和c#
(再例子中使用的 文件,做过修改)
客户端js调用代码如下
js 代码
1. function ajaxRequest()
2. {
3. var url = "localhost:88/";
4.
5. //设置webService传入参数
6. //
7. //注意:
8. //
9. // 调用.Net 写的webservice(如例子中的)
10. // HelloTo(String name) 针对name参数必须写成 wqj,还有更
多参数一样写,使用名称匹配
11. // 传入的参数数量可以不等于(多于或少于)方法要求的参数
12. //
13. // 调用java(xfire) 发布的webService
14. // 传入的参数必须与调用方法的参数数量相等,且按传入值的顺序进
行匹配
15. //
16.
17. var para = "wqj"; 这里应该是一个标准的xml形式,源码贴出来时被虑掉了,
请参看附件源码
18.
19. var op = {
20. data:para,
21. onComplete: showResponse,
22. onFailure:showError,
23. update:'ajaxBack'
24. };
25. var service = new WebService(url,"HelloTo",op);
26. t();
27. return false;
28. }
29. function showError(obj)
30. {
31. //obj 是一个xmlHttpRequest对象
32. alert("error");
33. }
34. function showResponse(requestText,requestXML)
35. {
36. //requestText 返回的文本
37. //requestXML 返回的XML
38. alert("ok");
39. }
WebService类的代码如下()
js 代码
1. var WSDLS = {};
2. var WebService = new Class({
3. url : '',
4. method : '',
5. options:
6. {
7. method:'GET',
8. data: null,
9. update: null,
10. onComplete: ,
11. onError:,
12. evalScripts: false,
13. evalResponse: false
14. },
15.
16. initialize: function(url,method,options)
17. {
18. = url;
19. = method;
20. s = options;
21. },
22.
23. request : function()
24. {
25. var wsdl = WSDLS[];
26. if(!wsdl)
27. {
28. var op = {method:'GET',async: false};
29. var wsdlAjax = new XHR(op).send( + "?wsdl", null);
30. wsdl = seXML;
31. WSDLS[] = wsdl;
32. }
33. p(wsdl);
34. },
35.
36. setSoap : function(wsdl)
37. {
38.
39. var ns = (utes["targetNamespace"] + ""
== "undefined") ?
edItem("targetNamespace").nodeValue :
utes["targetNamespace"].value;
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
var sr =
"" +
""
"xmlns:xsi="/2001/XMLSchema-instance" "
"xmlns:xsd="/2001/XMLSchema" " +
"xmlns:soap="/soap/envelope/">"
"" +
"<" + + " xmlns="" + ns + "">" +
( === null ?"":) +
" + + ">;
= 'post';
+
+
52. = null;
53.
54. var soapaction = ((dexOf("/") != - 1) ? ns + "/" : ns) +
;
55.
56. var soapAjax = new Ajax(,s);
57. der("SOAPAction", soapaction);
58. der("Content-type", "text/xml; charset=utf-8");
59. t(sr);
60. }
61.
62. });
在第一个版本中存在以下问题
1. 不能根据webservice的要求输入参数自动组织参数
2. 没有处理返回值
3.一旦webservice调用过程出错,会形成一个死循环(一直弹出error)
V2 说明
1. 解决第一版中死循环的问题
2. 统一输入参数的传入形式(与mootools的ajax使用方式完全一致),形式如
name=wqj&age=20&........
3. 自动根据参数名对应的值,组织webservice的传入参数,只根据webservice要求的
参数名查找对应的值
与顺序不再有关系.(对于xfire中的输入参数使用名称 )
传入的参数数量也不再要求一致,多的自动丢弃,少的自动传空
4. 对于返回的XML,增加提取方法,返回需要的关键返回值(去掉XML的框框)
详细参照附件源码,下面是部分关键代码
•
(47.1 KB)
•
描述: js调用webservice示例
•
下载次数: 443
•
JavaScriptSOAP(V2).rar (49.5 KB)
•
描述: js,sope第二版
•
下载次数: 761
引用地址:/topic/98182
代码再IE6和FF测试通过,对于c#写的webservice和java(xfire)写的,都测试过,没有
问题
此代码原型来源于 / 的javascript soapclient
发现这个下载的js只能用于调用c#的webservice,所以利用mootools,重新封装,达
到IE和火狐的兼容的同时,兼容java和c#
(再例子中使用的 文件,做过修改)
客户端js调用代码如下
js 代码
1. function ajaxRequest()
2. {
3. var url = "localhost:88/";
4.
5. //设置webService传入参数
6. //
7. //注意:
8. //
9. // 调用.Net 写的webservice(如例子中的)
10. // HelloTo(String name) 针对name参数必须写
成
11. // 传入的参数数量可以不等于(多于或少于)方法要求的参数
12. //
13. // 调用java(xfire) 发布的webService
14. // 传入的参数必须与调用方法的参数数量相等,且按传入值的顺序进
行匹配
15. //
16.
17. var para = "
贴出来时被虑掉了,请参看附件源码
18.
19. var op = {
20. data:para,
21. onComplete: showResponse,
22. onFailure:showError,
23. update:'ajaxBack'
24. };
25. var service = new WebService(url,"HelloTo",op);
26. t();
27. return false;
28. }
29. function showError(obj)
30. {
31. //obj 是一个xmlHttpRequest对象
32. alert("error");
33. }
34. function showResponse(requestText,requestXML)
35. {
36. //requestText 返回的文本
37. //requestXML 返回的XML
38. alert("ok");
39. }
WebService类的代码如下()
js 代码
1. var WSDLS = {};
2. var WebService = new Class({
3. url : '',
4. method : '',
5. options:
6. {
7. method:'GET',
8. data: null,
9. update: null,
10. onComplete: ,
11. onError:,
12. evalScripts: false,
13. evalResponse: false
14. },
15.
16. initialize: function(url,method,options)
17. {
18. = url;
19. = method;
20. s = options;
21. },
22.
23. request : function()
24. {
25. var wsdl = WSDLS[];
26. if(!wsdl)
27. {
28. var op = {method:'GET',async: false};
29. var wsdlAjax = new XHR(op).send( + "?wsdl", null);
30. wsdl = seXML;
31. WSDLS[] = wsdl;
32. }
33. p(wsdl);
34. },
35.
36. setSoap : function(wsdl)
37. {
38.
39. var ns = (utes["targetNamespace"] + ""
== "undefined") ? edItem("targetName
space").nodeValue : utes["targetNamespace"].value;
40.
41.
42.
43.
+
44.
45.
+
46.
47.
48.
var sr =
"" +
""
"xmlns:xsi="/2001/XMLSchema-instance" "
"xmlns:xsd="/2001/XMLSchema" " +
"xmlns:soap="/soap/envelope/">"
"
"<" + + " xmlns="" + ns + "">" +
( === null ?"":) +
49. " + + ">;
50.
51. = 'post';
52. = null;
53.
54. var soapaction = ((dexOf("/") != - 1) ? ns + "/" : ns)
+ ;
55.
56. var soapAjax = new Ajax(,s);
57. der("SOAPAction", soapaction);
58. der("Content-type", "text/xml; charset=utf-8");
59. t(sr);
60. }
61.
62. });
在第一个版本中存在以下问题
1. 不能根据webservice的要求输入参数自动组织参数
2. 没有处理返回值
3.一旦webservice调用过程出错,会形成一个死循环(一直弹出error)
V2 说明
1. 解决第一版中死循环的问题
2. 统一输入参数的传入形式(与mootools的ajax使用方式完全一致),形式如
name=wqj&age=20&........
3. 自动根据参数名对应的值,组织webservice的传入参数,只根据webservice要求的
参数名查找对应的值
与顺序不再有关系.(对于xfire中的输入参数使用名称 )
传入的参数数量也不再要求一致,多的自动丢弃,少的自动传空
4. 对于返回的XML,增加提取方法,返回需要的关键返回值(去掉XML的框框)
详细参照附件源码,下面是部分关键代码
WebService类的代码如下()
js 代码
1. var WSDLS = {};
2. var WebService = new Class({
3. url : '',
4. method : '',
5. options:
6. {
7. method:'GET',
8. data: null,
9. update: null,
10. onComplete: ,
11. onError:,
12. evalScripts: false,
13. evalResponse: false
14. },
15.
16. initialize: function(url,method,options)
17. {
18. = url;
19. = method;
20. s = options;
21. },
22.
23. request : function()
24. {
25. var wsdl = WSDLS[];
26. if(!wsdl)
27. {
28. var op = {method:'GET',async: false};
29. var wsdlAjax = new XHR(op).send( + "?wsdl", null);
30. wsdl = seXML;
31. WSDLS[] = wsdl;
32. }
33. p(wsdl);
34. },
35.
36. setSoap : function(wsdl)
37. {
38. var paraXML = aXML(wsdl);
39. alert(paraXML);
40. var ns = (utes["targetNamespace"] + ""
== "undefined") ? edItem("targetName
space").nodeValue : utes["targetNamespace"].value;
41. var sr =
42. "" +
43. " +
44. "xmlns:xsi="/2001/XMLSchema-instance" "
+
45. "xmlns:xsd="/2001/XMLSchema" " +
46. "xmlns:soap="/soap/envelope/">"
+
47. "
48. "<" + + " xmlns="" + ns + "">" +
49. paraXML +
50. " + + ">";
51.
52. = 'post';
53. = null;
54.
55. var soapaction = ((dexOf("/") != - 1) ? ns + "/" : ns)
+ ;
56. var soapAjax = new Ajax(,s);
57. der("SOAPAction", soapaction);
58. der("Content-type", "text/xml; charset=utf-8");
59. t(sr);
60. },
61. getParaXML : function(wsdl)
62. {
63.
64. var objNode = null;
65. var rtnValue = "";
66. //java(xfire)
67. var ell = mentsByTagName(wsdl,"xsd:element");
68. if( == 0)
69. {
70. //c#
71. ell = mentsByTagName(wsdl,"s:element");
72. }
73. for(var i = 0; i < ; i++)
74. {
75. if(mentAttrValue(ell[i],"name") == )
76. {
77. objNode = ell[i];
78. break;
79. }
80. }
81. if(objNode == null) return rtnValue;
82. //java(xfire)
83. ell = mentsByTagName(objNode,"xsd:element");
84. if( == 0)
85. {
86. //c#
87. ell = mentsByTagName(objNode,"s:element");
88. }
89. if( == 0) return rtnValue ;
90.
91. var hash = new Hash();
92.
93. if( != null && != "")
94. {
95. hash = ("&").toHash("=");
96. }
97.
98. for(var i = 0; i < ; i++)
99. {
100. var paraName = mentAttrValue(ell[i],"name");
101. rtnValue = rtnValue + gleXML(paraName,hash);
102. }
103.
104. return rtnValue;
105. },
106.
107. getSingleXML : function (name,hash)
108. {
109. name = ();
110.
111. var rtnValue = "";
112. if((name))
113. {
114. rtnValue = (name);
115. }
116. rtnValue = "<" + name + ">" + xmlscc(rtnValue) + " + name + ">"
117. return rtnValue;
118. },
119. getBackData: function(xml)
120. {
121. var rtnValue = "";
122. //java(xfire)
123. var soap = mentsByTagName(xml,"ns1:out");
124. if( == 0)
125. {
126. //c#
127. soap = mentsByTagName(xml, + "Result");
128. }
129. return soap[0].childNodes[0].nodeValue;
130.
131. },
132. getElementsByTagName : function(objNode,tagName)
133. {
134. //tagName 形式如 xsd:element ,写出tag的全称
135. var ell;
136. if(())
137. {
138. ell = mentsByTagName(tagName);
139. }
140. else
141. {
142. if(ns(":")) tagName = (":")[1];
143. ell = mentsByTagName(tagName);
144. }
145. return ell;
146. },
147. getElementAttrValue : function(objNode,attrName)
148. {
149. var rtnValue = "";
150.
151. if(objNode == null) return rtnValue;
152.
153. if(utes[attrName] + "" == "undefined")
154. {
155.
156.
lue ;
157.
158.
159.
160.
161.
162.
163.
164.
if(edItem(attrName) != null)
rtnValue = edItem(attrName).nodeVa
}
else
{
if(utes[attrName] != null)
rtnValue = utes[attrName].value;
}
return rtnValue;
165. },
166. isIE : function()
167. {
168. var isMSIE = /*@cc_on!@*/false;
169. return isMSIE;
170. }
171. });
172. ({
173.
174. toHash : function (splitChar)
175. {
176. var hash = new Hash({});
177. for(var i=0;i<;i++)
178. {
179.
180. if(this[i].split(splitChar).length == 1) contrnue;
181. var key = this[i].split(splitChar)[0].trim();
182. var value = this[i].split(splitChar)[1].trim();
183.
184. (key, value);
185. }
186.
187. return hash;
188. }
189. });
190. function xmlscc(strData)
191. {
192. strData=e(/&/g, "&");
193. strData=e(/>/g, ">");
194. strData=e(/"<");
195. strData=e(/"/g, """);
196. strData=e(/'/g, "'");
197. return strData;
198. }
相应的调用代码如下:
js 代码
1.
•
(47.1 KB)
•
描述: js调用webservice示例
•
下载次数: 627
•
JavaScriptSOAP(V2).rar (49.5 KB)
•
描述: js,sope第二版
•
下载次数: 1073
2024年4月22日发(作者:姚雨琴)
使用javascript调用webservice示例
再javascript中使用soap调用webservice的示例代码
代码再IE6和FF测试通过,对于c#写的webservice和java(xfire)写的,都测试过,没有
问题
此代码原型来源于 / 的javascript soapclient
发现这个下载的js只能用于调用c#的webservice,所以利用mootools,重新封装,达
到IE和火狐的兼容的同时,兼容java和c#
(再例子中使用的 文件,做过修改)
客户端js调用代码如下
js 代码
1. function ajaxRequest()
2. {
3. var url = "localhost:88/";
4.
5. //设置webService传入参数
6. //
7. //注意:
8. //
9. // 调用.Net 写的webservice(如例子中的)
10. // HelloTo(String name) 针对name参数必须写成 wqj,还有更
多参数一样写,使用名称匹配
11. // 传入的参数数量可以不等于(多于或少于)方法要求的参数
12. //
13. // 调用java(xfire) 发布的webService
14. // 传入的参数必须与调用方法的参数数量相等,且按传入值的顺序进
行匹配
15. //
16.
17. var para = "wqj"; 这里应该是一个标准的xml形式,源码贴出来时被虑掉了,
请参看附件源码
18.
19. var op = {
20. data:para,
21. onComplete: showResponse,
22. onFailure:showError,
23. update:'ajaxBack'
24. };
25. var service = new WebService(url,"HelloTo",op);
26. t();
27. return false;
28. }
29. function showError(obj)
30. {
31. //obj 是一个xmlHttpRequest对象
32. alert("error");
33. }
34. function showResponse(requestText,requestXML)
35. {
36. //requestText 返回的文本
37. //requestXML 返回的XML
38. alert("ok");
39. }
WebService类的代码如下()
js 代码
1. var WSDLS = {};
2. var WebService = new Class({
3. url : '',
4. method : '',
5. options:
6. {
7. method:'GET',
8. data: null,
9. update: null,
10. onComplete: ,
11. onError:,
12. evalScripts: false,
13. evalResponse: false
14. },
15.
16. initialize: function(url,method,options)
17. {
18. = url;
19. = method;
20. s = options;
21. },
22.
23. request : function()
24. {
25. var wsdl = WSDLS[];
26. if(!wsdl)
27. {
28. var op = {method:'GET',async: false};
29. var wsdlAjax = new XHR(op).send( + "?wsdl", null);
30. wsdl = seXML;
31. WSDLS[] = wsdl;
32. }
33. p(wsdl);
34. },
35.
36. setSoap : function(wsdl)
37. {
38.
39. var ns = (utes["targetNamespace"] + ""
== "undefined") ?
edItem("targetNamespace").nodeValue :
utes["targetNamespace"].value;
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
var sr =
"" +
""
"xmlns:xsi="/2001/XMLSchema-instance" "
"xmlns:xsd="/2001/XMLSchema" " +
"xmlns:soap="/soap/envelope/">"
"" +
"<" + + " xmlns="" + ns + "">" +
( === null ?"":) +
" + + ">;
= 'post';
+
+
52. = null;
53.
54. var soapaction = ((dexOf("/") != - 1) ? ns + "/" : ns) +
;
55.
56. var soapAjax = new Ajax(,s);
57. der("SOAPAction", soapaction);
58. der("Content-type", "text/xml; charset=utf-8");
59. t(sr);
60. }
61.
62. });
在第一个版本中存在以下问题
1. 不能根据webservice的要求输入参数自动组织参数
2. 没有处理返回值
3.一旦webservice调用过程出错,会形成一个死循环(一直弹出error)
V2 说明
1. 解决第一版中死循环的问题
2. 统一输入参数的传入形式(与mootools的ajax使用方式完全一致),形式如
name=wqj&age=20&........
3. 自动根据参数名对应的值,组织webservice的传入参数,只根据webservice要求的
参数名查找对应的值
与顺序不再有关系.(对于xfire中的输入参数使用名称 )
传入的参数数量也不再要求一致,多的自动丢弃,少的自动传空
4. 对于返回的XML,增加提取方法,返回需要的关键返回值(去掉XML的框框)
详细参照附件源码,下面是部分关键代码
•
(47.1 KB)
•
描述: js调用webservice示例
•
下载次数: 443
•
JavaScriptSOAP(V2).rar (49.5 KB)
•
描述: js,sope第二版
•
下载次数: 761
引用地址:/topic/98182
代码再IE6和FF测试通过,对于c#写的webservice和java(xfire)写的,都测试过,没有
问题
此代码原型来源于 / 的javascript soapclient
发现这个下载的js只能用于调用c#的webservice,所以利用mootools,重新封装,达
到IE和火狐的兼容的同时,兼容java和c#
(再例子中使用的 文件,做过修改)
客户端js调用代码如下
js 代码
1. function ajaxRequest()
2. {
3. var url = "localhost:88/";
4.
5. //设置webService传入参数
6. //
7. //注意:
8. //
9. // 调用.Net 写的webservice(如例子中的)
10. // HelloTo(String name) 针对name参数必须写
成
11. // 传入的参数数量可以不等于(多于或少于)方法要求的参数
12. //
13. // 调用java(xfire) 发布的webService
14. // 传入的参数必须与调用方法的参数数量相等,且按传入值的顺序进
行匹配
15. //
16.
17. var para = "
贴出来时被虑掉了,请参看附件源码
18.
19. var op = {
20. data:para,
21. onComplete: showResponse,
22. onFailure:showError,
23. update:'ajaxBack'
24. };
25. var service = new WebService(url,"HelloTo",op);
26. t();
27. return false;
28. }
29. function showError(obj)
30. {
31. //obj 是一个xmlHttpRequest对象
32. alert("error");
33. }
34. function showResponse(requestText,requestXML)
35. {
36. //requestText 返回的文本
37. //requestXML 返回的XML
38. alert("ok");
39. }
WebService类的代码如下()
js 代码
1. var WSDLS = {};
2. var WebService = new Class({
3. url : '',
4. method : '',
5. options:
6. {
7. method:'GET',
8. data: null,
9. update: null,
10. onComplete: ,
11. onError:,
12. evalScripts: false,
13. evalResponse: false
14. },
15.
16. initialize: function(url,method,options)
17. {
18. = url;
19. = method;
20. s = options;
21. },
22.
23. request : function()
24. {
25. var wsdl = WSDLS[];
26. if(!wsdl)
27. {
28. var op = {method:'GET',async: false};
29. var wsdlAjax = new XHR(op).send( + "?wsdl", null);
30. wsdl = seXML;
31. WSDLS[] = wsdl;
32. }
33. p(wsdl);
34. },
35.
36. setSoap : function(wsdl)
37. {
38.
39. var ns = (utes["targetNamespace"] + ""
== "undefined") ? edItem("targetName
space").nodeValue : utes["targetNamespace"].value;
40.
41.
42.
43.
+
44.
45.
+
46.
47.
48.
var sr =
"" +
""
"xmlns:xsi="/2001/XMLSchema-instance" "
"xmlns:xsd="/2001/XMLSchema" " +
"xmlns:soap="/soap/envelope/">"
"
"<" + + " xmlns="" + ns + "">" +
( === null ?"":) +
49. " + + ">;
50.
51. = 'post';
52. = null;
53.
54. var soapaction = ((dexOf("/") != - 1) ? ns + "/" : ns)
+ ;
55.
56. var soapAjax = new Ajax(,s);
57. der("SOAPAction", soapaction);
58. der("Content-type", "text/xml; charset=utf-8");
59. t(sr);
60. }
61.
62. });
在第一个版本中存在以下问题
1. 不能根据webservice的要求输入参数自动组织参数
2. 没有处理返回值
3.一旦webservice调用过程出错,会形成一个死循环(一直弹出error)
V2 说明
1. 解决第一版中死循环的问题
2. 统一输入参数的传入形式(与mootools的ajax使用方式完全一致),形式如
name=wqj&age=20&........
3. 自动根据参数名对应的值,组织webservice的传入参数,只根据webservice要求的
参数名查找对应的值
与顺序不再有关系.(对于xfire中的输入参数使用名称 )
传入的参数数量也不再要求一致,多的自动丢弃,少的自动传空
4. 对于返回的XML,增加提取方法,返回需要的关键返回值(去掉XML的框框)
详细参照附件源码,下面是部分关键代码
WebService类的代码如下()
js 代码
1. var WSDLS = {};
2. var WebService = new Class({
3. url : '',
4. method : '',
5. options:
6. {
7. method:'GET',
8. data: null,
9. update: null,
10. onComplete: ,
11. onError:,
12. evalScripts: false,
13. evalResponse: false
14. },
15.
16. initialize: function(url,method,options)
17. {
18. = url;
19. = method;
20. s = options;
21. },
22.
23. request : function()
24. {
25. var wsdl = WSDLS[];
26. if(!wsdl)
27. {
28. var op = {method:'GET',async: false};
29. var wsdlAjax = new XHR(op).send( + "?wsdl", null);
30. wsdl = seXML;
31. WSDLS[] = wsdl;
32. }
33. p(wsdl);
34. },
35.
36. setSoap : function(wsdl)
37. {
38. var paraXML = aXML(wsdl);
39. alert(paraXML);
40. var ns = (utes["targetNamespace"] + ""
== "undefined") ? edItem("targetName
space").nodeValue : utes["targetNamespace"].value;
41. var sr =
42. "" +
43. " +
44. "xmlns:xsi="/2001/XMLSchema-instance" "
+
45. "xmlns:xsd="/2001/XMLSchema" " +
46. "xmlns:soap="/soap/envelope/">"
+
47. "
48. "<" + + " xmlns="" + ns + "">" +
49. paraXML +
50. " + + ">";
51.
52. = 'post';
53. = null;
54.
55. var soapaction = ((dexOf("/") != - 1) ? ns + "/" : ns)
+ ;
56. var soapAjax = new Ajax(,s);
57. der("SOAPAction", soapaction);
58. der("Content-type", "text/xml; charset=utf-8");
59. t(sr);
60. },
61. getParaXML : function(wsdl)
62. {
63.
64. var objNode = null;
65. var rtnValue = "";
66. //java(xfire)
67. var ell = mentsByTagName(wsdl,"xsd:element");
68. if( == 0)
69. {
70. //c#
71. ell = mentsByTagName(wsdl,"s:element");
72. }
73. for(var i = 0; i < ; i++)
74. {
75. if(mentAttrValue(ell[i],"name") == )
76. {
77. objNode = ell[i];
78. break;
79. }
80. }
81. if(objNode == null) return rtnValue;
82. //java(xfire)
83. ell = mentsByTagName(objNode,"xsd:element");
84. if( == 0)
85. {
86. //c#
87. ell = mentsByTagName(objNode,"s:element");
88. }
89. if( == 0) return rtnValue ;
90.
91. var hash = new Hash();
92.
93. if( != null && != "")
94. {
95. hash = ("&").toHash("=");
96. }
97.
98. for(var i = 0; i < ; i++)
99. {
100. var paraName = mentAttrValue(ell[i],"name");
101. rtnValue = rtnValue + gleXML(paraName,hash);
102. }
103.
104. return rtnValue;
105. },
106.
107. getSingleXML : function (name,hash)
108. {
109. name = ();
110.
111. var rtnValue = "";
112. if((name))
113. {
114. rtnValue = (name);
115. }
116. rtnValue = "<" + name + ">" + xmlscc(rtnValue) + " + name + ">"
117. return rtnValue;
118. },
119. getBackData: function(xml)
120. {
121. var rtnValue = "";
122. //java(xfire)
123. var soap = mentsByTagName(xml,"ns1:out");
124. if( == 0)
125. {
126. //c#
127. soap = mentsByTagName(xml, + "Result");
128. }
129. return soap[0].childNodes[0].nodeValue;
130.
131. },
132. getElementsByTagName : function(objNode,tagName)
133. {
134. //tagName 形式如 xsd:element ,写出tag的全称
135. var ell;
136. if(())
137. {
138. ell = mentsByTagName(tagName);
139. }
140. else
141. {
142. if(ns(":")) tagName = (":")[1];
143. ell = mentsByTagName(tagName);
144. }
145. return ell;
146. },
147. getElementAttrValue : function(objNode,attrName)
148. {
149. var rtnValue = "";
150.
151. if(objNode == null) return rtnValue;
152.
153. if(utes[attrName] + "" == "undefined")
154. {
155.
156.
lue ;
157.
158.
159.
160.
161.
162.
163.
164.
if(edItem(attrName) != null)
rtnValue = edItem(attrName).nodeVa
}
else
{
if(utes[attrName] != null)
rtnValue = utes[attrName].value;
}
return rtnValue;
165. },
166. isIE : function()
167. {
168. var isMSIE = /*@cc_on!@*/false;
169. return isMSIE;
170. }
171. });
172. ({
173.
174. toHash : function (splitChar)
175. {
176. var hash = new Hash({});
177. for(var i=0;i<;i++)
178. {
179.
180. if(this[i].split(splitChar).length == 1) contrnue;
181. var key = this[i].split(splitChar)[0].trim();
182. var value = this[i].split(splitChar)[1].trim();
183.
184. (key, value);
185. }
186.
187. return hash;
188. }
189. });
190. function xmlscc(strData)
191. {
192. strData=e(/&/g, "&");
193. strData=e(/>/g, ">");
194. strData=e(/"<");
195. strData=e(/"/g, """);
196. strData=e(/'/g, "'");
197. return strData;
198. }
相应的调用代码如下:
js 代码
1.
•
(47.1 KB)
•
描述: js调用webservice示例
•
下载次数: 627
•
JavaScriptSOAP(V2).rar (49.5 KB)
•
描述: js,sope第二版
•
下载次数: 1073