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

通过Ajax调用webService服务

发布时间:2020-12-16 01:41:32 所属栏目:百科 来源:网络整理
导读:通过Ajax调用webService服务 时间2015-08-07 17:38:00 IT社区推荐资讯 原文 http://itindex.net/detail/54103-ajax-webservice-服务 主题 Ajax 标签: ajax webservice 服务 | 发表时间:2015-08-07 08:04 | 作者:莫欺少年穷Java 分享到: 出处:http://www

通过Ajax调用webService服务

标签: ajax webservice 服务 | 发表时间:2015-08-07 08:04 | 作者:莫欺少年穷Java

分享到:
出处:http://www.iteye.com

1、上一篇WebService文章介绍了基本的创建、调用WebService服务的形式,今天学习了一下通过Ajax调用WebService服务的形式,

2、首先启动一个WebService服务,代码如下:

package com.wang.webservice.service;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class HelloService {
	public String sayHello( String name ){
		System.out.println(name);
		return "hello " + name;
	}	
	public static void main(String[] args) {
		Endpoint.publish("http://127.0.0.1:1234/helloservice",new HelloService());
	}
}

3、启动后,创建一个html文件,准备通过ajax请求WebService服务,直接上代码,代码中有说明:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>通过Ajax调用webService服务</title>
</head>
<script>
	/* ActiveXObject有浏览器兼容问题 */
	var xhr = new ActiveXObject("Microsoft.XMLHTTP");
	function sendMsg(){
		var name = document.getElementById("name").value;
		//服务地址
		var wsUrl = "http://127.0.0.1:1234/helloservice";
		//请求体
		var soap = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://service.webservice.wang.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>';
		//打开连接
		xhr.open('POST',wsUrl,true);
		//重新设置请求头
		xhr.setRequestHeader("Content-Type","text/xml;charset=UTF-8");
		//设置回调函数
		xhr.onreadystatechange = _back;
		//发送请求
		xhr.send(soap);
	}
	function _back(){
		if(xhr.readyState == 4){
			if( xhr.status == 200 ){
				/* 有浏览器兼容问题 */
				var ret = xhr.responseXML;
			 	var msg = ret.getElementsByTagName('return')[0];
			 	alert(msg);
			}
		}
	}
</script>
<body>
	<input type="button" value="发送soap请求" onclick="sendMsg()"  />
	<input  type="text" id="name"/>
</body>
</html>

此时,用IE浏览器打开这个HTML文件,基本就能看到效果了。

代码中,除了请求体外,其他的都好理解,那么这个请求体是哪来的哪儿??

4、动过myeclipse(eclipse)拦截工具获得请求体。上图:

注:http://127.0.0.1:1234/helloservice?wsdl 上篇文章中介绍的。。

通过Ajax调用webService服务完毕。。。

(编辑:李大同)

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

    推荐文章
      热点阅读