Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。由此可以看出,在以下三种情况下,使用WebService会带来极大的好处。
<script type="text/javascript">
function createXMLHttpRequest() {
var xmlHttp;
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
function ServiceRequest(ServerURL,ServiceName,NameSpace,MethodName,CallBack,ParamNames,ParamValues) {
var xmlHttp = createXMLHttpRequest();
var SOAPString = GetSOAPHeader(NameSpace,MethodName,ParamNames,ParamValues);
var SOAPActionHeader = NameSpace + MethodName;
xmlHttp.open("POST", ServerURL+ServiceName, false);
//xmlHttp.open("POST", "http://192.168.6.8:8080/m/services/JbxxcxService?wsd/getACertDetailFromWeb", true);
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200 || xmlHttp.status == 0) {
CallBack(xmlHttp);
}
}
};
xmlHttp.setRequestHeader("Content-Type", "text/xml");
xmlHttp.setRequestHeader("SOAPAction", SOAPActionHeader);
xmlHttp.send(SOAPString);
}
function GetSOAPHeader(NameSpace,MethodName,ParamNames,ParamValues){
var SOAPString="";
//SOAP 1.1
SOAPString+="<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/\">\n"
SOAPString+="<soap:Body>\n";
SOAPString+="<" + MethodName + " xmlns=\"" + NameSpace + "\">\n";
if(ParamNames!=null) {
for(var i=0,j=ParamNames.length;i<j;i++) {
SOAPString+="<"+ParamNames[i]+">"+ParamValues[i]+"</"+ParamNames[i]+">\n";
}
}
SOAPString+="</" + MethodName + ">\n";
SOAPString+="</soap:Body>\n";
SOAPString+="</soap:Envelope>\n";
return SOAPString;
}
function JSPProcessCallBack(xmlHttp) {
var value = xmlHttp.responseXML.getElementsByTagName("out")[0].firstChild.nodeValue;
loadXml(value);
}
function loadXml(data){
//IE下加载xml字符串
if(navigator.userAgent.indexOf('MSIE') >= 0) {
//加载xml字符串 (IE下的加载方式)
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false; //关闭异步加载,这样作可以使得文档加载完全之前,解析起不会继续执行脚本
xmlDoc.loadXML(data);
}
//火狐下加载xml字符串
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
//加载xml字符串 (FireFox下的加载方式)
var doc = new DOMParser();
var xmlDoc = doc.parseFromString(data, "text/xml");
}
//遍历list标签
var elementList;
elementList = xmlDoc.getElementsByTagName('children');
for(var i = 0; i<elementList.length; i=i+1){
var value;
value = elementList[i].getAttribute('id');
var childs;
//当前元素的子结点,获得所有列
childs = elementList[i].childNodes;
var cellArray = new Array();
//遍历row的子节点,取得每一个结点的内容
for(var j = 0; j<childs.length; j=j+1){
var cell = $.trim($(childs[j]).text());
var cells = cellArray.push(cell);
}
addRow(value,cellArray);
}
}
function getWebService(){
//JSP WebService
var name = $("#name").val();
var id_card = $("#id_card").val();
var JSPServerURL = "http://192.168.6.8:8080/m/services/";
var JSPServiceName="JbxxcxService?wsd";
var JSPNameSpace = "http://192.168.6.8:8080/m/services/JbxxcxService/JbxxcxService?wsdl";
var JSPMethodName="getACertDetailFromWeb";
var names=["name","id_card"];
var values=[name,id_card];
ServiceRequest(JSPServerURL,JSPServiceName,JSPNameSpace,JSPMethodName,JSPProcessCallBack,names,values);
}
/*********
* 添加一行
*/
function addRow(new_id, text) {
$("#"+new_id).remove();
var insertTr = "<tr id='" + new_id + "'>";
var context = new Array();
context = text
if(context != "" && context.length>0 ){
for(var i = 0; i < context.length; i = i + 1){
insertTr = insertTr + "<td bgcolor='#f7f7f7' style='font-size: 12px'>"+context[i]+"</td>";
}
insertTr = insertTr + "</tr>";
$("#gridTable").append(insertTr);
}
}
</script>
页面代码:
<body>
<div id="tabCon">
<div>
<form id="form1" name="form1" method="post" action="">
<label><span>姓名:</span><input type="text" name="name" id="name" class="cxInput" /></label>
<label><span>证件号码:</span><input type="text" name="id_card" id="id_card" class="cxInput" /></label>
<label><span></span><input type="button" name="imageField" value="查询" onClick="getWebService();"/></label>
<table id="gridTable" width="100%" border="0" cellpadding="4" cellspacing="1" bgcolor="#FFFFFF">
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">证件类型</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">证件编号</th>
<th width="4%" bgcolor="#B6E0F9" style="font-size: 12px">姓名</th>
<th width="4%" bgcolor="#B6E0F9" style="font-size: 12px">性别</th>
<th width="4%" bgcolor="#B6E0F9" style="font-size: 12px">职务</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">身份证号</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">单位名称</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">发证日期</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">证件状态</th>
<th width="8%" bgcolor="#B6E0F9" style="font-size: 12px">一次复审期限</th>
<th width="8%" bgcolor="#B6E0F9" style="font-size: 12px">二次复审期限</th>
<th width="8%" bgcolor="#B6E0F9" style="font-size: 12px">证件有效期开始</th>
<th width="8%" bgcolor="#B6E0F9" style="font-size: 12px">证件有效期结束</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">复审记录1</th>
<th width="5%" bgcolor="#B6E0F9" style="font-size: 12px">复审记录2</th>
</table>
</form>
</div>
</div>
</body>
分享到:
相关推荐
JavaScript调用WebService是一种常见的在客户端与服务器之间进行数据交互的方式,尤其在Web应用程序中,它允许JavaScript代码直接访问Web服务提供的功能。以下是对这个实例的详细解析和相关知识点的总结: 1. ...
使用javascript 中Ajax技术调用WebService,包括JSP和ASP.NET中两种,其中JSP的WebService使用了XFire框架。 ASP.NET中的WebService做了一个方法示例GetProgress,包含3个参数。 JSP中的WebService做了hello方法的...
在本文中,我们将深入探讨如何使用JavaScript调用Web服务,特别是SOAP Web服务。JavaScript是一种广泛应用于客户端浏览器的脚本语言,它可以用来与服务器进行交互,包括调用Web服务以获取或发送数据。以下是一个示例...
本篇将深入探讨如何使用JavaScript调用WebService,帮助开发者理解和掌握这一技术。 首先,了解WebService的基本概念。WebService是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的应用程序接口(API),允许不同...
Javascript调用Webservice的汇集
JavaScript调用WebService是一种常见的在客户端与服务器之间进行通信的方式,特别是在Web应用程序中。在这个示例中,我们将讨论如何使用JavaScript来调用不同平台(如C#和Java)编写的WebService,以及实现跨浏览器...
JavaScript调用WebService的过程可能涉及到JSON或XML格式的数据解析,因为WebService通常以这些格式返回数据。 然后,是WebService。WebService是一种基于标准的,可互操作的Web应用程序,它可以通过HTTP协议提供...
### 使用JavaScript调用WebService的方法与实例 随着互联网技术的发展,跨平台、跨语言的数据交互变得越来越重要。在众多实现方式中,使用JavaScript调用WebService是一种常见的解决方案。本文将基于提供的标题“用...
微软提供的javascript调用webservice的webservice.htc有一bug,就是当前页面url(例如Test.aspx?keyno=/a)如果有/则无法调用webservice。
本文将深入探讨如何使用JavaScript调用Web Service,以及如何解决在这个过程中遇到的问题,以配合“js调用webservice示例+源码”的主题。 Web Service是一种基于网络的、平台无关的服务,它通过SOAP(Simple Object...
JavaScript调用Web Service是一种在客户端通过JavaScript代码与服务器端的Web Service进行交互的技术。Web Service是一种基于SOA(Service-Oriented Architecture,面向服务架构)的设计理念,它允许不同的系统之间...
综上所述,C#和JavaScript调用Web服务涉及了异步请求、数据序列化与反序列化等多个环节。理解这些概念和技术对于开发跨平台、分布式系统至关重要。通过学习和实践,开发者能够有效地整合各种系统资源,实现数据的...
用ajax技术调用webservice实例
webseservice 客户端调用,java发布的axis2 webservice,通过 js调用调用webservice,普通ajax实现,里面有详细注释,代码简单明了,我自己做过测试。希望对大家有所帮助。
JavaScript调用WebService是一种常见的前后端通信方式,尤其在Web应用程序中,它允许客户端与服务器进行异步数据交换,实现动态内容的更新。本示例旨在详细介绍如何使用JavaScript调用WebService,以及涉及的相关...
#### 使用JavaScript调用WebService 给定的部分内容展示了一种使用JavaScript来调用WebService的方法。此方法主要依赖于`Microsoft.XMLHTTP`对象,这是一个用于发送HTTP请求并接收响应的对象,通常在客户端脚本中...
JavaScript调用WebService组件是Web开发中的常见操作,主要用于在客户端与服务器端进行数据交互。WebService是一种基于HTTP协议的,能够跨平台、跨语言的服务接口,它通过SOAP(Simple Object Access Protocol)消息...
在本文中,我们将深入探讨如何使用JavaScript调用Web服务,特别是SOAP Web Service。JavaScript是一种广泛应用于客户端Web开发的脚本语言,它允许我们与服务器端的Web服务进行交互,实现异步数据传输,提高用户体验...
本压缩包包含了一个简单的示例项目——"WebApplication1",用于演示如何使用JavaScript调用WebService。 在JavaScript中,调用WebService通常涉及到XMLHttpRequest对象或更现代的fetch API。以下是一些关键知识点:...
总的来说,C#中通过JavaScript调用WebService实现无刷新更新,是一种常见的Web开发技术,它结合了服务器的强大处理能力和客户端的实时交互,为用户提供了流畅的Web应用体验。理解并熟练掌握这种技术,对于Web开发者...