js调用webservice 并构造SOAP进行身份验证
来源:互联网 发布:Java 执行Python 编辑:程序博客网 时间:2024/06/05 00:22
<!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>
<title>无标题页</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>找不到请求的服务器资源!";
}
}
else if(xmlhttp.readyState==0)
{
h.innerHTML="<br>未初始化!";
}
else if(xmlhttp.readyState==1)
{
h.innerHTML="<br>正在加载……!";
}
else if(xmlhttp.readyState==2)
{
h.innerHTML="<br>已经加载完成!";
}
else if(xmlhttp.readyState==3)
{
h.innerHTML="<br>正在和服务器交互";
}
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)) //匹配双字节
{
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构造一个字符串,而这个字符串就是通过浏览器查看WEBSERVICE时方法时出现的那段
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/">';
//加了这段可以实现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() {
//方法名,参数名,参数值,服务URL,服务所使用命名空间
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>
- js调用webservice 并构造SOAP进行身份验证
- js调用webservice:通过通过SOAP Header身份验证
- C#通过构造Soap信息使用HttpWebRequest调用WebService
- python用http发送soap报文进行webservice接口调用
- http 调用soap webservice
- 自定义身份验证Soap头 进行加密解密
- 使用soap的header进行身份验证
- 自定义身份验证Soap头 进行加密解密
- Xform js 调用WebService并取值
- php进行soap调用
- PHP5 SOAP调用.NET WebService
- ASP通过SOAP调用WebService
- VC通过SOAP调用WebService
- Webservice调用方式:axis,soap
- C#实现SOAP调用WebService
- PHP5 扩展SOAP 调用 webservice
- PHP调用webservice soap soapclient
- 使用Soap方式调用Webservice
- MD5加密类
- NET 2.0(C#)调用ffmpeg处理视频的方法
- 类的静态成员再探讨!
- 我的智力观
- Ubuntu右键打开终端以及使用root权限打开文件夹或文件的方法
- js调用webservice 并构造SOAP进行身份验证
- Grub4Dos 安装Ubuntu 收藏
- Jakarta Tomcat结构概述
- 获取/删除信号量
- C#调用WinAPI(转)
- 等待/释放信号量
- C#如何使用DirectX实现视频播放
- 坚强——马天宇
- Oracle基础