Webservice加上SoapHeader验证方式
提供一种基于SoapHeader的自定义验证方式,代码如下:
public class MySoapHeader : System.Web.Services.Protocols.SoapHeader
{
private string userID = string.Empty;
private string userPW = string.Empty; public string UserId
{
get { return userID; }
set { userID = value; }
}
public string UserPW
{
get { return userPW; }
set { userPW = value; }
}
public MySoapHeader()
{ }
public MySoapHeader(string name, string password)
{
userID = name;
userPW = password;
} private bool IsValid(string nUserId, string nPassWord, out string nMsg)
{
nMsg = "";
try
{
if (nUserId == "admin" && nPassWord == "admin")
{
return true;
}
else
{
nMsg = "对不起,你无权调用Web服务";
return false;
}
}
catch
{
nMsg = "对不起,你无权调用Web服务";
return false;
}
}
public bool IsValid(out string nMsg)
{
return IsValid(userID, userPW, out nMsg);
}
}
webservice穿插引用soapHeader:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
public MySoapHeader myheader = new MySoapHeader();
[WebMethod]
public string HelloWorld()
{
return "Hello World";
} //该地方是调用SoapHeader地方,注意观察
[SoapHeader("myheader")]
[WebMethod(Description="Say Hello My World")]
public string HelloWorld2()
{
string msg = "";
if (!myheader.IsValid(out msg))
{
return msg;
}
return "Hello World";
}
}
客服端动态调用Webservice的方法,可以参考上篇博客
普通添加引用WEBSERVICE调用的方式代码如下:
static void Main(string[] args)
{ MyService.WebService1SoapClient cmlent = new MyService.WebService1SoapClient();
MyService.MySoapHeader hro=new MyService.MySoapHeader ();
hro.UserId="admin";
hro.UserPW="admin";
string rsult=cmlent.HelloWorld2(hro);
Console.WriteLine(rsult);
Console.ReadKey();
}
Webservice加上SoapHeader验证方式的更多相关文章
- C#调用Java的WebService添加SOAPHeader验证
C#调用Java的WebService添加SOAPHeader验证(2) 1.问题描述 调用的Java的webservice string Invoke(string func, string req ...
- C#调用Java的WebService添加SOAPHeader验证(2)
C#调用Java的WebService添加SOAPHeader验证 上一篇链接如上,更像是 Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#) 来处理xml, ...
- .net 客户端调用java或.net webservice进行soapheader验证
.net 客户端调用java或.net webservice进行soapheader验证 最近项目中有业务需要跨平台调用web服务,客户端和服务器之间采用非对称加密来保证数据的安全性,webservi ...
- C#访问Java的WebService添加SOAPHeader验证的问题
原文:C#访问Java的WebService添加SOAPHeader验证的问题 这两天做与公司OA的接口,发现C#访问Java的WebService需要提供一个SOAP的头验证信息,但是WebServ ...
- ANDROID调用webservice带soapheader验证
最近的一个项目中调用webservice接口,需要验证soapheader,现将解决方法记录如下:(网上资料出处太多,就不做引用,原作者如看到,如有必要添加请通知) 1.先看接口 POST /webs ...
- C# 调用Java Webservice 加入SoapHeader 验证信息
C#调用java 编写的webservice时不会自动生成 soapheader 类接口的,需要改动Reference.cs. 在生成的代理类referende.cs中进行如下操作: 一.在声明pub ...
- C# 调用WebService的3种方式 :直接调用、根据wsdl生成webservice的.cs文件及生成dll调用、动态调用
1.直接调用 已知webservice路径,则可以直接 添加服务引用--高级--添加web引用 直接输入webservice URL.这个比较常见也很简单 即有完整的webservice文件目录如下图 ...
- webservice 第一节 .net SoapHeader验证
在工作中经常用到webservice,在.net 开发中经常用到webservice,在java开发经常用到cxf. 今天闲置没事就介绍下 .net webservice中常用到 soapheader ...
- WebService的几种验证方式
转 http://www.cnblogs.com/yoshiki1895/archive/2009/06/03/1495440.html WebService的几种验证方式 1.1 WebS ...
随机推荐
- --Dirring love 音乐(01背包问题)
解题思路: dp[i][j] 前 i 首歌放入 j 容量中的最大热情度. 前 i 首歌 放到 j 容量中 dp[i][j]= dp[i-1][j-m[i]]+r[i] (注意:如果 j 容量 &l ...
- 用80x86汇编语言编程:1 + 2 + 3 + 4 + 5 + …… + n,和小于100,在屏幕上显示次数和结果。
;============================================== ;1+...+n < 100 ;--------------------------------- ...
- Java&.Net虚拟机精简(GreenJVM&GreenDotNet发布) .
精简JRE体积的小工具:http://blog.csdn.net/cping1982/archive/2008/09/02/2865198.aspx 项目地址:http://code.google.c ...
- 构建seajs业务模块之grunt VS spm build
在最开始,我并不知道grunt可以构建CMD模块.(以下spm指代spm build) 当时正困惑于如何用spm方便的构建业务模块,后来看到@twinstony (感谢@twinstony的分享)使用 ...
- $key 的用法
<?php $attr=array("a","b","c","d"); //$key,默认是主键值,$value, ...
- More is better(MST)(求无向图中最大集合元素个数)
More is better Time Limit:1000MS Memory Limit:102400KB 64bit IO Format:%I64d & %I64u Sub ...
- Junit4.x扩展:运行指定方法
相信很多道友搞开发的一般都会用到Junit单元测试工具,不知道大家有没有遇到一个这样的问题: 有的单元测试用例有很多@Test方法,甚至有的方法会执行很长时间,只能空等执行.而实际上我们只需要运行其中 ...
- [OpenJudge 3061]Flip The Card
[OpenJudge 3061]Flip The Card 试题描述 There are N× Ncards, which form an N× Nmatrix. The cards can be p ...
- DButils实现查询和新增
public static Adttendance DBSql(String data) throws SQLException { String url = "j ...
- LNK2005 连接错误解决办法
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@ ...