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

        }



    }

  

  

你可能感兴趣的:(webservice)