前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebService_04_JS调用WebService

WebService_04_JS调用WebService

作者头像
Learning_斌
发布2019-09-05 17:31:31
1.8K0
发布2019-09-05 17:31:31
举报
文章被收录于专栏:GetKnowledge+GetKnowledge+

在之间的介绍中提到过,WebService的底层数据传输本质上就是一种特殊逇HTTP的POST请求。

WebService使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。

既然如此,那JS是可以发送HTTP的POST请求的,只要组装好正确的WebService的报文,即可实现JS的WebService调用,当然,这其中还好考虑JS的跨域问题,解决方案有很多种,不在此罗列了。

JS调用WebServiced代码如下:

视频内容

附录:

源码

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

</head>

<body>

<script type="text/javascript">

function RequestWebService() {

var data;

//SOAP 请求报文格式,

data = '<?xml version="1.0" encoding="utf-8"?>';

data = data + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';

data = data + '<soap:Body>';

data = data + '<xn2:add xmlns:xn2="http://webservice.demo.com/">';//这里就是发布的方法名和xml文档中的命名空间地址(图中画线部分)

data = data + '<arg0>1</arg0>';

data = data + '<arg1>2</arg1>';

data = data + '</xn2:add>';

data = data + '</soap:Body>';

data = data + '</soap:Envelope>';

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

var URL="http://10.10.10.236:8982/WebService?wsdl";

xmlhttp.Open("POST",URL, false);

xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8"); //SOAP 1.1为text/xml ; 1.2为 application/soap+xml

xmlhttp.Send(data);

alert("请求报文:"+data);//SOAP请求报文格式

var text = xmlhttp.responseText;

alert('返回报文'+'\n'+text); //SOAP响应报文格式

document.getElementById("data").innerHTML = "返回结果为:"+text;

}

</script>

<input type="button" value="JS调用WebService" onclick="RequestWebService()"></input>

<p id="data"></p>

</body>

</html>

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GetKnowledge+ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档