当前位置: 代码迷 >> Web前端 >> 经过js调用java与.net 开发的webservices
  详细解决方案

经过js调用java与.net 开发的webservices

热度:164   发布时间:2013-01-23 10:44:49.0
通过js调用java与.net 开发的webservices

如题,以前只试过用js调用.net开发的webservices接口。后来想是否也可以用js调用java开发的接口,通过一整天的时间研究、查资料,发现网上对js调用java接口的资料很少,没办法,只好自己瞎搞,运气不错,终于瞎碰出来了。下面是两个例子:

?

1.调用.net接口

?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">    
<title></title>    
<script type="text/javascript">        
function RequestWebService() {            
		//这是我们在第一步中创建的Web服务的地址            
		var URL = "http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx?op=getStationName";                        
		//在这处我们拼接            
		var data;            
		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 + '<getStationName xmlns="http://WebXml.com.cn/" >11</getStationName>';   
		data = data + '</soap:Body>';            
		data = data + '</soap:Envelope>';                        
		//创建异步对象            
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");            
		xmlhttp.Open("POST", URL, false);            
		xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml");       
		xmlhttp.SetRequestHeader ("SOAPAction","http://WebXml.com.cn/getStationName");
		xmlhttp.Send(data);            
		document.getElementById("data").innerHTML = xmlhttp.responseText;     
		alert(xmlhttp.responseText);
}            
</script>
</head>
<body>    
<form id="form1" runat="server">    
<div>        
<input id="One" type="button" value="JsCallWebService" onclick="RequestWebService()" />
</div>
<div id="data">    
</div>    
</form>
</body>
</html>

?

?

?

2.调用java接口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">    
<title></title>    
<script type="text/javascript">        
function RequestWebService() {            
		//这是我们在第一步中创建的Web服务的地址,这个地址取自wsdl接口描述信息中的service节点中location值            
		var URL = "http://localhost:8080/test/services/demo";                        
		//在这处我们拼接            
		var data;            
		data = '<?xml version="1.0" encoding="utf-8"?>';            
		data = data + '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';          
		data = data + '<soap:Body>';     
		//添加方法与参数
		data = data + '<getData><arg1>我是第一个参数</arg1><arg2>我是第二个参数</arg2></getData>';   
		data = data + '</soap:Body>';            
		data = data + '</soap:Envelope>'; 
		
		//创建异步对象            
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");            
		xmlhttp.Open("POST", URL, false);            
		xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml");       
		xmlhttp.Send(data);            
		document.getElementById("data").innerHTML = xmlhttp.responseText;     

}            
</script>
</head>
<body>    
<form id="form1" runat="server">    
<div>        
<input id="One" type="button" value="JsCallWebService" onclick="RequestWebService()" />
</div>
<div id="data">    
</div>    
</form>
</body>
</html>

?

  相关解决方案