Webservice开发、引用

1、Webservice开发

一、在解决方案右键添加新建项目,新建空的web应用程序

二、在新建的项目右键添加新建项选择web服务

三、这里就是webservice 里的方法,能够添加本身须要的方法(方法前须要添加[WebMethod] 的特性,才能够被调用)

四、发布iis便可访问 

 五、须要身份验证的webservice

5.1 SOAP Header身份验证

在webservice里添加以下类web

public class MySoapHeader : SoapHeader
    {
        private string strUserName = string.Empty;
        private string strPassWord = string.Empty;

        public MySoapHeader() { }

        public MySoapHeader(string username, string password)
        {
            this.strUserName = username;
            this.strPassWord = password;
        }

        #region 构造 
        /// <summary>  
        /// 用户名  
        /// </summary>  
        public string UserName
        {
            get { return strUserName; }
            set { strUserName = value; }
        }
        /// <summary>  
        /// 密码  
        /// </summary>  
        public string PassWord
        {
            get { return strPassWord; }
            set { strPassWord = value; }
        }

        #endregion

        #region 检测是否正确登陆
        /// <summary>  
        /// 检测是否正确登陆  
        /// </summary>  
        /// <returns></returns>  
        public bool ValideUser(out string  msg )
        {
            msg = "";
            if (strUserName == "admin" && strPassWord == "123456")   //在这里设置身份验证的帐号和密码
            {
                return true;
            }
            else
            {
                msg = "您无权调用次服务,请联系管理员!";
                return false;
            }
        }

        #endregion
    }

在添加方法的时候添加以下代码windows

     public MySoapHeader header = new MySoapHeader (); ////定义用户身份验证类变量header
 [System.Web.Services.Protocols.SoapHeader("header")] 
        [WebMethod]     
        public string GetUserName(string userID)
        {
            string msg = ""; if (!header.ValideUser(out msg)) //验证 { return msg; }
var data = new DALwbstest.UuserOP().GetUser(userID); if (data != null) { return data.UsernameCN; } else { return "没有此人"; } }

调用的时候就须要帐号密码验证,代码以下ide

           WebReference.Npomwbs webClient = new Npomwbs();           
            MySoapHeader head = new MySoapHeader ();
            head.UserName = "admin";               //在webservice里设置的帐号和密码
            head.PassWord = "123456";
            webClient.MySoapHeaderValue = head;

            string name = webClient.GetUserName(txtID.Text);    //调用须要验证的方法

 

5.2 windows身份验证

 在webservice发布iis的时候设置以下,添加访问该webservice须要的帐户和密码 this

 身份验证设置成windows身份验证spa

 

调用的时候就须要帐号密码验证,不然会提示没有受权, 添加以下代码3d

       WebReference.Npomwbs webClient = new Npomwbs();
            webClient.Credentials = new System.Net.NetworkCredential("admin","123456"); //这里就是你刚填写的帐号和密码

            string name = webClient.GetUserName(txtID.Text); // 调用方法

 

2、Webservice引用

 一、添加Webservice引用

在项目上右键添加服务引用code

 在高级里添加web引用,在弹出的框里输入你发布的webservice地址,点右侧箭头,点击添加引用,添加引用成功blog

 二、调用webservice

添加引用成功后就能够调用了开发

相关文章
相关标签/搜索