最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

使用javascript调用webservice示例

IT圈 admin 33浏览 0评论

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参数必须写

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("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参数必须写

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("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

发布评论

评论列表 (0)

  1. 暂无评论