通过Ajax调用webService服务

标签: ajax webservice 服务 | 发表时间:2015-08-07 16: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服务完毕。。。

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [ajax webservice 服务] 推荐:

通过Ajax调用webService服务

- - 企业架构 - ITeye博客
1、上一篇WebService文章介绍了基本的创建、调用WebService服务的形式,今天学习了一下通过Ajax调用WebService服务的形式,. 2、首先启动一个WebService服务,代码如下:.  3、启动后,创建一个html文件,准备通过ajax请求WebService服务,直接上代码,代码中有说明:.

SOAP Webservice和RESTful Webservice

- - 人月神话的BLOG
REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性. REST提出设计概念和准则为:. 1.网络上的所有事物都可以被抽象为资源(resource). 2.每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识.

[转]反向Ajax,第3部分:Web服务器和Socket.IO

- - 高味儿在这写写有点漏味的技术文章
这一文章系列探讨了如何使用反向Ajax(Reverse Ajax)技术来开发事件驱动的web应用. 第1部分介绍了实现反向Ajax通信的不同方法:轮询(polling)、捎带(piggyback)以及使用了长轮询(long polling)和流(streaming)的Comet;第2部分说明了如何使用WebSocket来实现反向Ajax,并讨论了使用Comet和WebSocket的web服务器的局限性.

webservice认证

- - 行业应用 - ITeye博客
1、服务器端,增加拦截认证--ServerPasswordCallback.java.                 throw new WSSecurityException("用户不匹配.                 throw new WSSecurityException("密码不匹配.

Ajax用户名验证、服务条款加载、验证码生成

- - 博客园_首页
 Ajax(asynchronous javascript and xml)异步的javascript和xml..     是为了解决传统的web应用中"发送请求-等待响应"这种模式的弊端,(浏览器在发送完请求后,只能等待服务器的响应,用户不能做其他的操作,浏览器发送完请求,会抛弃整个页面,等待服务器返回新的页面,也就是说,浏览器和服务器之间交互的数据量很大,不能做到按需获取数据)而创建的技术,该技术的本质是:通过一个浏览器内置的一个对象(XmlHttpRequest)异步地向服务器发送请求..

WebService性能测试

- - ImportNew
(本文也会在最下面通俗的介绍). 这里给一个站内大哥的讲解: http://www.cnblogs.com/Leo_wl/archive/2010/05/20/1740205.html. 简单点就是测试WebService的一个工具. 官网地址: http://www.soapui.org/. ps:官网是英语的,如果你英语不好的话可以使用谷歌浏览器或360极速浏览器,它可以自动把英文转换成中文.

原生AJAX

- - Web前端 - ITeye博客
对象是ajax的基础,几乎所有的浏览器都支持他,只是创建方式不同,如IE5,IE6. 2、AJAX - 向服务器发送请求请求. 与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用. 然而,在以下情况中,请使用 POST 请求:. 无法使用缓存文件(更新服务器上的文件或数据库). 向服务器发送大量数据(POST 没有数据量限制).

初识Ajax

- - CSDN博客推荐文章
Ajax(Asynchronous JavaScript and XMLS异步JavaScript和XML)(“阿贾克斯”)技术. 完成页面的局部刷新,从而提升操作性能. AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术. 依赖的核心对象:XMLHttpRequest.

基于 Ajax 的 web 应用程序中各种客户端-服务器通信机制

- Anew - IBM developerWorks 中国 : 文档库
任何基于 Asynchronous JavaScript and XML (Ajax) 的 web. 应用程序都有一个关键组成部分,就是客户端与服务器之间的通信层. 要实现该层,需要了解浏览器提供的各种机制,以及各机制的优缺利弊. 在本文中,将学习在特定的应用程序通信需求与合适的机制之间做出搭配. 其中的详细案例将会演示如何创建一个满足不同客户端-服务器通信需求的通信层.

WebService之JAX-WS、CXF、Spring3.0+

- - 博客园_首页
          面对工作的需要,web服务这一块一直都在身边转悠着. 既然工作中需要这些,作为程序员就应该去了解和学习. 下面主要简述采用CXF+Spring+JAX-WS来发布WebService服务,以及创建客户端调用服务.          1、先了解关于WebService的相关概念以及一些专有名词的解释:.