想对用户密码加密后经由service存到数据库中,
采用的加密方法代码为:
//输入串加密
public static string strSign(string enterStr)
{
byte[] bytes = Encoding.ASCII.GetBytes(enterStr);
//选择DSA签名方式(有RSA和DSA)
DSACryptoServiceProvider dsac = new DSACryptoServiceProvider();
//签名结果为signStr
byte[] signStr = dsac.SignData(bytes);
//return Encoding.UTF8.GetString(signStr);
return Convert.ToBase64String(signStr);
}
-------------------------------------------------
加密后的串要填入soap header中,
然后调用web service的方法login():
WTWebService.AuthorityHeaer header = new WTWebService.AuthorityHeaer();
header.userCount = userCount;
header.userPwd = strSign(userPwd);
WTWebService.WTWebService wtWebAdmin = new WTWebService.WTWebService();
wtWebAdmin.AuthorityHeaerValue = header;
WTWebService.RetData retDataObject = wtWebAdmin.userLogin();
---------------------------------------------------
在调用userLogin()的方法时,捕获到异常:
[System.InvalidOperationException] = {"客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”。\r\n请求失败,错误信息为:\r\n--\r\n<html>\r\n <head>\r\n <title>编译错误</title>\r\n <style>\r\n body {font-family:\"Verdana\";font-weight:normal;font-size: .7em;color:black;} \r\n p ...
------------------------------------------------------
我想请教高手们,对于 :
----------------------------------------------------
客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”。
---------------------------------------------------
这个问题我觉得主要是编码的问题,请问各位高手,采用DSA签名加密后的数据,如何能从客户端传送到web service上?
谢谢
4 个解决方案
#1
up
#2
任务管理器 —> 文件 —> 新建任务 —>
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_wp.exe
启动进程aspnet_wp.exe 即可
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_wp.exe
启动进程aspnet_wp.exe 即可
#3
还是没有解决方案呀
#4
IIS禁了对( .asmx)后缀的访问权限。
#1
up
#2
任务管理器 —> 文件 —> 新建任务 —>
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_wp.exe
启动进程aspnet_wp.exe 即可
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_wp.exe
启动进程aspnet_wp.exe 即可
#3
还是没有解决方案呀
#4
IIS禁了对( .asmx)后缀的访问权限。