ajax调用webservice方法(soapui调用webservice接口)

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

ajax调用webservice方法(soapui调用webservice接口)

WebService服务接口会生成一个标准的wsdl文件,或者访问一个URL地址可以查看WSDL信息。

WSDL:(Web服务描述语言,Web Services Description Language)是为描述Web服务发布的XML格式。


一般情况下,都是在客户端进行调用服务端暴露出来的接口,那么如何在浏览器中通过ajax的方式调用呢?

var data = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'

+ '<soap:Header/>'

+ '<soap:Body>'

+ '<ns1:hello xmlns:ns1="http://impl.server.ws.computech.com/"></ns1:hello>'

+ '</soap:Body>'

+ '</soap:Envelope>';

$.ajax({

"type": "POST",

"async": false,

"Content-Type": "text/xml;charset=utf-8",

"url": "http://192.168.1.60:8080/yourApp/service/cmp",

"dataType": "xml",

"data": data,

"success": function(response){

console.log("success");

},

"error": function(e){

console.log("error");

}

});

SOAP:简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

其实基于soap协议的webservice服务,它传输的消息是被soap进行了一层包装,我们在进行post请求的时候,只要把完整的进行过soap包装的消息发送出去就可以了。

如果此时,你就立即进行调用测试,浏览器调试控制台会报错:

No 'Access-Control-Allow-Origin' header is present on the requested resource.

因为webservice是一种跨平台服务,因此在浏览器中使用就涉及到跨域的问题。为了解决此问题,你需要在暴露webservice服务的服务端进行一些设置。在服务器返回给你的响应消息头中,需要增加一下设置:Access-Control-Allow-Origin:*,此设置表示允许所有外部请求调用,你也可以将*设置为具体的访问地址。

好了,搞定了,尽情的使用吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论