使用javascript调用webservice示例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用javascript调用webservice示例

再javascript中使用soap调用webservice的示例代码

代码再IE6和FF测试通过,对于c#写的webservice和java(xfire)写的,都测试过,没有问题

此代码原型来源于/的javascript soapclient

发现这个下载的js只能用于调用c#的webservice,所以利用mootools,重新封装,达到IE和火狐的兼容的同时,兼容java和c#

(再例子中使用的mootools.v1.11.js 文件,做过修改)

客户端js调用代码如下

js 代码

1.function ajaxRequest()

2. {

3.var url =

"http://localhost:88/webservicedemo.asmx";

4.

5.//设置webService传入参数

6.//

7.//注意:

8.//

9.// 调用.Net 写的webservice(如例子中的

webservicedemo.asmx)

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.

26. var service = new

WebService(url,"HelloTo",op);

27. service.request();

28. return false;

29. }

30. function showError(obj)

31. {

32. //obj 是一个xmlHttpRequest对象

33. alert("error");

34. }

35. function showResponse(requestText,requestXML)

36. {

37. //requestText 返回的文本

38. //requestXML 返回的XML

39. alert("ok");

40. }

WebService类的代码如下(webservice.js)

js 代码

1.var WSDLS = {};

2.

3.var WebService = new Class({

4.

5. url : '',

6. method : '',

7. options:

8. {

9. method:'GET',

10. data: null,

11. update: null,

12. onComplete: Class.empty,

13. onError:Class.empty,

14. evalScripts: false,

15. evalResponse: false

16. },

17.

18. initialize: function(url,method,options)

19. {

20. this.url = url;

21. this.method = method;

22. this.options = options;

23.

24. },

25.

26. request : function()

27. {

28. var wsdl = WSDLS[this.url];

29. if(!wsdl)

30. {

31. var op = {method:'GET',async:

false};

32. var wsdlAjax = new XHR(op).send(this.url

+ "?wsdl", null);

33. wsdl =

wsdlAjax.transport.responseXML;

34. WSDLS[this.url] = wsdl;

35. }

36. this.setSoap(wsdl);

37. },

38.

39. setSoap : function(wsdl)

40. {

41.

42. var ns =

(wsdl.documentElement.attributes["targetNamespace"] + "" ==

"undefined") ?

wsdl.documentElement.attributes.getNamedItem("targetNamespace") .nodeValue :

wsdl.documentElement.attributes["targetNamespace"].value;

43. var sr =

44. "" +

45. ""

46. "xmlns:xsi=\"/

2001/XMLSchema-instance\" " +

相关文档
最新文档