加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService学习笔记-Ajax请求Webservice

发布时间:2020-12-17 00:55:27 所属栏目:安全 来源:网络整理
导读:Webservice地址为? http://192.168.13.232:8989/ws_01/umgsai JSP页面地址为?http://192.168.13.232:8080/Demo/index.jsp Webservice的请求体如下 soapenv:Envelope?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:q0="http://ws.umgsai.

Webservice地址为?http://192.168.13.232:8989/ws_01/umgsai

JSP页面地址为?http://192.168.13.232:8080/Demo/index.jsp


Webservice的请求体如下

<soapenv:Envelope?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:q0="http://ws.umgsai.com/"?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
??<soapenv:Body>
????<q0:sayHello>
??????<arg0>sa</arg0>
????</q0:sayHello>
??</soapenv:Body>
</soapenv:Envelope>


Webservice的响应体如下

<S:Envelope?xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
??<S:Body>
????<ns2:sayHelloResponse?xmlns:ns2="http://ws.umgsai.com/">
??????<return>Hello?sa</return>
????</ns2:sayHelloResponse>
??</S:Body>
</S:Envelope>


JSP页面如下

<%@?page?language="java"?contentType="text/html;?charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">
<title>Insert?title?here</title>
<script?type="text/javascript"?src="js/jquery-1.11.1.min.js"></script>
<script?type="text/javascript">
	var?url?=?"http://192.168.13.232:8989/ws_01/umgsai";
	$(function(){
		$("#WebserviceJQuery").click(function(){
			var?name?=?document.getElementById("username").value;
			//请求体
			var?data?=?'<soapenv:Envelope?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:q0="http://ws.umgsai.com/"?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><q0:sayHello><arg0>'?+?name?+?'</arg0></q0:sayHello></soapenv:Body></soapenv:Envelope>';
			/*
			$.post(url,?data,?function(msg){
				var?$Result?=?$(msg);
				var?value?=?$Result.find("return").text();
				alert(value);
			},"xml");
			*/
			$.ajax({
				type:"POST",url:url,data:data,success:function(msg){
					var?$Result?=?$(msg);
					var?value?=?$Result.find("return").text();
					alert(value);
				},error:function(msg){
					alert("错误信息:"?+?msg);
				},datatype:"xml",contentType:"text/xml;charset=utf-8"
			});
		});
	});

	function?reqWebservice()?{
		var?name?=?document.getElementById("username").value;
		//请求体
		var?data?=?'<soapenv:Envelope?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:q0="http://ws.umgsai.com/"?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><q0:sayHello><arg0>'?+?name?+?'</arg0></q0:sayHello></soapenv:Body></soapenv:Envelope>';
		var?request?=?GetXmlHttpObject();
		request.onreadystatechange?=?function(){
			if(request.readyState?==?4?&&?request.status?==?200){
				var?result?=?request.responseXML;
				//alert(result);
				var?returnElement?=?result.getElementsByTagName("return")[0];
				var?value?=?returnElement.firstChild.data;
				alert(value);
			}
		};
		//响应体?<S:Envelope?xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
/*
		<S:Body>
		????<ns2:sayHelloResponse?xmlns:ns2="http://ws.umgsai.com/">
		??????<return>Hello?sa</return>
		????</ns2:sayHelloResponse>
		??</S:Body>
		</S:Envelope>

*/
		request.open("POST",?url);
		request.setRequestHeader("Content-type",?"text/xml;charset=utf-8");
		request.send(data);
	}

	function?GetXmlHttpObject()?{
		var?xmlHttp?=?null;
		try?{
			//?Firefox,?Opera?8.0+,?Safari
			xmlHttp?=?new?XMLHttpRequest();
		}?catch?(e)?{
			//?Internet?Explorer
			try?{
				xmlHttp?=?new?ActiveXObject("Msxml2.XMLHTTP");
			}?catch?(e)?{
				xmlHttp?=?new?ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return?xmlHttp;
	}
</script>
</head>
<body>
	name:
	<input?id="username"?name="username"?value=""?/>
	<button?onClick="reqWebservice()">Ajax请求Webservice</button>
	<button?id="WebserviceJQuery">Ajax请求Webservice?with?JQuery</button>
</body>
</html>


存在跨域访问的问题,只能通过?http://192.168.13.232:8080/Demo/index.jsp?来访问。

通过?http://localhost:8080/Demo/index.jsp来访问是提示错误。



本文出自 “优赛工作室” 博客,请务必保留此出处http://www.voidcn.com/article/p-xksllnet-qg.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读