<html>
<head>
<title>通过Ajax通用WebService</title>
</head>
<body>
</body>
<script>
/* 通过Ajax调用webService*/
var method = "test1"; //接口方法名称
var webServiceIP = "http://127.0.0.1/";
var webServiceURL = webServiceIP + "jsService.nsf/jsDemoService?OpenWebService";
//定义接口方法参数 此参数格式定义请查看有关SOAP相关文档
var methodParam = '<?xml version="1.0" encoding="utf-8"?>';
methodParam += '<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/" xmlns:urn="urn:DefaultNamespace">';
methodParam += '<soap:Body>';
methodParam += '<urn:' + method + ' xmlns="' + webServiceIP + '">'; //调用接品的方<urn:方法名 xmlns="服务器IP">
methodParam += '<a xsi:type="xsd:string">10</a>'; //定义接口方法参数名及参数类型格式为<参数名称 xsi:type="xsd:参数类型"></参数名称>
methodParam += '<b xsi:type="xsd:string">20</b>';
methodParam += "</urn:" + method + ">";
methodParam += "</soap:Body>";
methodParam += "</soap:Envelope>";
callWebService(methodParam,webServiceURL)
//调用webservcie function
var xml_HTTP=false;
function callWebService(param,webServiceURL){
if(window.XMLHttpRequest){
xml_HTTP=new XMLHttpRequest(); // Mozilla, Safari,...
}
if(window.ActiveXObject){ //IE
try{
xml_HTTP=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xml_HTTP=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(!(xml_HTTP)) return false;
//xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
xml_HTTP.open("POST", webServiceURL, false);//同步调用 false表法异步通信,true表示同步通信
xml_HTTP.Send(param); //接口方法参数
//获取接口返回值
if((xml_HTTP.readyState==4) &&(xml_HTTP.status==200)){ //readyState==4表示成功请求,200表示服务器成功处理
var xmlObj=xml_HTTP.responseXml;
try{ //两种方法获得返回值
var strText=xmlObj.getElementsByTagName(method+"Return"); //通过解析XML得到返回值
document.body.innerHTML="返回结果:"+strText.item(0).firstChild.text; //返回调用的值
}catch(e){
document.body.innerHTML="返回结果:"+xmlObj.text;
}
}
}
</script>
</html>
===========================================================================================
<html>
<head>
<title>通过Ajax通用WebService</title>
</head>
<body>
</body>
<script>
/* 通过Ajax调用webService*/
var method = "test1"; //接口方法名称
var webServiceIP = "http://127.0.0.1/";
var webServiceURL = webServiceIP + "jsService.nsf/jsDemoService?OpenWebService";
//定义接口方法参数 此参数格式定义请查看有关SOAP相关文档
var methodParam = '<?xml version="1.0" encoding="utf-8"?>';
methodParam += '<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/" xmlns:urn="urn:DefaultNamespace">';
methodParam += '<soap:Body>';
methodParam += '<urn:' + method + ' xmlns="' + webServiceIP + '">'; //调用接品的方<urn:方法名 xmlns="服务器IP">
methodParam += '<a xsi:type="xsd:string">10</a>'; //定义接口方法参数名及参数类型格式为<参数名称 xsi:type="xsd:参数类型"></参数名称>
methodParam += '<b xsi:type="xsd:string">20</b>';
methodParam += "</urn:" + method + ">";
methodParam += "</soap:Body>";
methodParam += "</soap:Envelope>";
callWebService(methodParam,webServiceURL)
//调用webservcie function
var xml_HTTP=false;
function callWebService(param,webServiceURL){
if(window.XMLHttpRequest){
xml_HTTP=new XMLHttpRequest(); // Mozilla, Safari,...
}
if(window.ActiveXObject){ //IE
try{
xml_HTTP=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xml_HTTP=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(!(xml_HTTP)) return false;
//xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
xml_HTTP.open(";POST", webServiceURL, false);//同步调用 false表法异步通信,true表示同步通信
xml_HTTP.Send(param); //接口方法参数
//获取接口返回值
if((xml_HTTP.readyState==4) &&(xml_HTTP.status==200)){ //readyState==4表示成功请求,200表示服务器成功处理
var xmlObj=xml_HTTP.responseXml;
try{ //两种方法获得返回值
var strText=xmlObj.getElementsByTagName(method+"Return"); //通过解析XML得到返回值
document.body.innerHTML="返回结果:"+strText.item(0).firstChild.text; //返回调用的值
}catch(e){
document.body.innerHTML="返回结果:"+xmlObj.text;
}
}
}
</script>
</html>