.net开发带soapheader头信息的webservice
1、新增一个SoapHeader类
public class Certificate : System.Web.Services.Protocols.SoapHeader { public Certificate() { } /// <summary> /// 用户名 /// </summary> public string UserName { get; set; } /// <summary> /// 密码 /// </summary> public string PassWord { get; set; } /// <summary> /// 用户验证 /// </summary> public void IsVaild() { if (string.IsNullOrEmpty(UserName)) throw new ArgumentNullException("UserName"); if (string.IsNullOrEmpty(PassWord)) throw new ArgumentNullException("Password"); if (UserName != "username") throw new Exception("用户名无效!"); if (PassWord != "password") throw new Exception("用户密码无效!"); } }
2、在webservice类中声明SoapHeader类信息
public Certificate certificate = new Certificate();
3、在webservice方法中添加验证属性
public class Hello : System.Web.Services.WebService { public Certificate certificate = new Certificate(); [System.Web.Services.Protocols.SoapHeader("certificate")] [WebMethod] public string HelloWorld() { certificate.IsVaild(); return "调用成功"; } }