您的位置:首页 > Web前端 > JavaScript

使用javascript调用webservice

2014-08-08 10:23 344 查看
在项目过程中遇到了在html中调用webservice的情况,由于Ajax不能跨域,而且后台那边也没有给测试环境,就自己先搭了个简易的webservice,想模拟下从html中调看能调出来么?

结果很蛋疼,wsdl能拿到,但是直接访问方法就报500,不管方法是有参还是无参都会报错,仔细检查后看到tomcat上提示no SOAPAction header,没有SOAP头。。。后来看到了pignut_wang写的http://www.iteye.com/topic/98182这篇文章,太精髓了,赶紧拿来试试,果然行了。在此感谢pignut_wang的分享。

写在前面:

由于我的webservice返回的XML与pignut_wang文中提到的webservice返回的XML在内容上不太一样,测试中有点小问题,所以我对pignut_wang提供的webservice.js文件做了点小修改

代码在IE6和FF测试通过,对于c#和java(xfire)写的webservice,都测试通过

此代码原型来源于 http://www.guru4.net/ 的javascript soapclient

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

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

首先,下载pignut_wang提供的JavaScriptSOAP(V2).rar

解压后将WebService.js和mootools.v1.11.js放在webservice项目下。

然后在需要调webservice服务的页面中引用这两个JS文件,并在页面中加入请求代码:

 

最后,只要在需要调服务的时候调用ajaxRequest函数就可以了,不过这个函数里面的参数是要自己事先填好的哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: