js調(diào)用webservice構(gòu)造SOAP進行身份驗證
本文實例為大家分享了js調(diào)用webservice構(gòu)造SOAP進行身份驗證的相關(guān)內(nèi)容,注釋清除,供大家參考,具體內(nèi)容如下
<html> <head> <title>無標(biāo)題頁</title> <script language="javascript" type="text/javascript"> // <!CDATA[ //define var xmlhttp; var value=new Array(); var variable=new Array(); //Show Response MSG. function handleStateChange() { var h=document.getElementById("Label1"); if(xmlhttp.readyState==4) { if(xmlhttp.status==200) { alert(xmlhttp.responseText); h.innerHTML=xmlhttp.responseText; //h.innerHTML=xmlhttp.responseXML; } else if(xmlhttp.status==404) { h.innerHTML="<br>找不到請求的服務(wù)器資源!"; } } else if(xmlhttp.readyState==0) { h.innerHTML="<br>未初始化!"; } else if(xmlhttp.readyState==1) { h.innerHTML="<br>正在加載……!"; } else if(xmlhttp.readyState==2) { h.innerHTML="<br>已經(jīng)加載完成!"; } else if(xmlhttp.readyState==3) { h.innerHTML="<br>正在和服務(wù)器交互"; } else { h.innerHTML=xmlhttp.responseXML; } } //Get Request Data's length function getlen(str) { var bytesCount=0; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); if (/^[u0000-u00ff]$/.test(c)) //匹配雙字節(jié) { bytesCount += 1; } else { bytesCount += 2; } } return bytesCount; } //Create XMLHttpRequest Object function createXMLHttpRequest() { if(window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequst) { xmlhttp=new XMLHttpRequest(); } } //send Request By HTTP POST //實際上這段代碼就是用JS構(gòu)造一個字符串,而這個字符串就是通過瀏覽器查看WEBSERVICE時方法時出現(xiàn)的那段 function RequestByPost(method,variable,value,url,_Namespace) { createXMLHttpRequest(); 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/">'; //加了這段可以實現(xiàn)soap頭 //UserName ,Pwd這是我的SOAP驗證形式,需替換 data = data + "<soap:Header>" data = data + '<UserSoapHeader xmlns="http://tempuri.org/">' data = data + "<UserName>admin</UserName>" data = data + "<Pwd>faaaa</Pwd>" data = data + "</UserSoapHeader>" data = data + "</soap:Header>" data = data + '<soap:Body>'; data = data + '<'+method+' xmlns="'+_Namespace+'">'; for(var i=0;i<variable.length;i++) { data = data + '<'+variable[i]+'>'+value[i]+'</'+variable[i]+'>'; } data = data + '</'+method+'>'; data = data + '</soap:Body>'; data = data + '</soap:Envelope>'; xmlhttp.onreadystatechange=handleStateChange; xmlhttp.Open("POST",url, true); xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8"); //xmlhttp.SetRequestHeader ("Content-Length",getlen(data)); xmlhttp.SetRequestHeader ("SOAPAction",_Namespace+method); xmlhttp.Send(data); alert(data); } //WeatherReport Test: function Button2_onclick() { //方法名,參數(shù)名,參數(shù)值,服務(wù)URL,服務(wù)所使用命名空間 RequestByPost("HelloWorld",[],[],"http://localhost:13267/SERVICES/WebService.asmx","http://tempuri.org/"); } window.onload = function(){ Button2_onclick(); } // ]]> </script> </head> <body> <label id='Label1'>ss</label> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)javascript程序設(shè)計有所幫助。
- java webservice上傳下載文件代碼分享
- ASP.NET使用WebService實現(xiàn)天氣預(yù)報功能
- C# WebService發(fā)布以及IIS發(fā)布
- ASP.NET調(diào)用WebService服務(wù)的方法詳解
- jQuery中通過ajax調(diào)用webservice傳遞數(shù)組參數(shù)的問題實例詳解
- ajax跨域調(diào)用webservice的實現(xiàn)代碼
- PHP使用SOAP擴展實現(xiàn)WebService的方法
- ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp
- Web Service 運行原理詳細(xì)介紹
相關(guān)文章
JScript 腳本實現(xiàn)文件下載 一般用于下載木馬
腳本實現(xiàn)文件下載,這個是jscript的,腳本之家以前曾發(fā)布vbscript版本的,原理一樣的。2009-10-10javascript導(dǎo)出csv文件(excel)的方法示例
這篇文章主要給大家介紹了關(guān)于javascript導(dǎo)出csv文件(excel)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08javascript 小數(shù)乘法結(jié)果錯誤的處理方法
下面小編就為大家?guī)硪黄猨avascript 小數(shù)乘法結(jié)果錯誤的處理方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07找到了一篇jQuery與Prototype并存的沖突的解決方法
找到了一篇jQuery與Prototype并存的沖突的解決方法...2007-08-08JS實現(xiàn)點擊復(fù)選框變更DIV顯示狀態(tài)的示例代碼
下面小編就為大家分享一篇JS實現(xiàn)點擊復(fù)選框變更DIV顯示狀態(tài)的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12JavaScript中數(shù)組的排序、亂序和搜索實現(xiàn)代碼
JavaScript中實現(xiàn)數(shù)組的排序、亂序和搜索,其實所有這些功能,用一個sort()就可以完成了2011-11-11