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

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

热度:549   发布时间:2013-01-19 11:41:36.0
通过js调用java与.net 开发的webservices

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

1.调用.net接口
Html代码:  
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head runat="server">      
  4. <title></title>      
  5. <script type="text/javascript">          
  6. function RequestWebService() {              
  7.         //这是我们在第一步中创建的Web服务的地址              
  8.         var URL = "http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx?op=getStationName";                          
  9.         //在这处我们拼接              
  10.         var data;              
  11.         data = '<?xml version="1.0" encoding="utf-8"?>';              
  12.         datadata = 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/">';              
  13.         datadata = data + '<soap:Body>';              
  14.         datadata = data + '<getStationName xmlns="http://WebXml.com.cn/" >11</getStationName>';     
  15.         datadata = data + '</soap:Body>';              
  16.         datadata = data + '</soap:Envelope>';                          
  17.         //创建异步对象              
  18.         var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");              
  19.         xmlhttp.Open("POST", URL, false);              
  20.         xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml");         
  21.         xmlhttp.SetRequestHeader ("SOAPAction","http://WebXml.com.cn/getStationName");  
  22.         xmlhttp.Send(data);              
  23.         document.getElementById("data").innerHTML = xmlhttp.responseText;       
  24.         alert(xmlhttp.responseText);  
  25. }              
  26. </script>  
  27. </head>  
  28. <body>      
  29. <form id="form1" runat="server">      
  30. <div>          
  31. <input id="One" type="button" value="JsCallWebService" onclick="RequestWebService()" />  
  32. </div>  
  33. <div id="data">      
  34. </div>      
  35. </form>  
  36. </body>  
  37. </html>  
2.调用java接口
Html代码:  
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head runat="server">      
  4. <title></title>      
  5. <script type="text/javascript">          
  6. function RequestWebService() {              
  7.         //这是我们在第一步中创建的Web服务的地址,这个地址取自wsdl接口描述信息中的service节点中location值              
  8.         var URL = "http://localhost:8080/test/services/demo";                          
  9.         //在这处我们拼接              
  10.         var data;              
  11.         data = '<?xml version="1.0" encoding="utf-8"?>';              
  12.         datadata = data + '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';            
  13.         datadata = data + '<soap:Body>';       
  14.         //添加方法与参数  
  15.         datadata = data + '<getData><arg1>我是第一个参数</arg1><arg2>我是第二个参数</arg2></getData>';     
  16.         datadata = data + '</soap:Body>';              
  17.         datadata = data + '</soap:Envelope>';   
  18.         //创建异步对象              
  19.         var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");              
  20.         xmlhttp.Open("POST", URL, false);              
  21.         xmlhttp.SetRequestHeader("Content-Type", "application/soap+xml");         
  22.         xmlhttp.Send(data);              
  23.         document.getElementById("data").innerHTML = xmlhttp.responseText;       
  24. }              
  25. </script>  
  26. </head>  
  27. <body>      
  28. <form id="form1" runat="server">      
  29. <div>          
  30. <input id="One" type="button" value="JsCallWebService" onclick="RequestWebService()" />  
  31. </div>  
  32. <div id="data">      
  33. </div>      
  34. </form>  
  35. </body>  
  36. </html>  
  相关解决方案