.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 "调用成功";
        }

    }

  

  

posted @ 2012-11-22 15:12  老齐编程  阅读(3360)  评论(2编辑  收藏  举报