程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> Asp.net頁面中調用soapheader進行驗證的操作步驟

Asp.net頁面中調用soapheader進行驗證的操作步驟

編輯:ASP.NET基礎

本文為大家分享了Asp.net頁面中調用以SOAP頭作驗證的web services操作步驟,供大家參考,具體內容如下

第一步:用來作SOAP驗證的類必須從SoapHeader類派生,類中Public的屬性將出現在自動產生XML節點中,即:

<soap:Header>
  <UserSoapHeader xmlns="http://tempuri.org/">
   <UserName>string</UserName>
   <Pwd>string</Pwd>
  </UserSoapHeader>
</soap:Header>

public class UserSoapHeader : SoapHeader
{
  private string _userName;
  private string _pwd;
 
  //public的屬性將自動生成xml結點
  public string UserName
  {
    get { return _userName; }
    set { _userName = value; }
  }
 
  public string Pwd
  {
    get { return _pwd; }
    set { _pwd = value; }
  }
}

第二步:
在WebServices服務類中添加一個public的屬性(必須public),類型為從UserSoapHeader

/// <summary>
/// WebService 的摘要說明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
//此屬性將作為驗證屬性
//方法的SoapHeaderAttribute中的名稱與此變量一致
  public UserSoapHeader userHeader;
 
  public WebService()
  {
    //如果使用設計的組件,請取消注釋以下行
    //InitializeComponent();
  }
 
  [WebMethod]
  [SoapHeader("userHeader")]//這裡很重要,名稱要和定義的驗證屬性名稱一致!
  public string HelloWorld()
  {
    //進入此方法後,userHeader將自動有值
    if (userHeader != null)
    {
      return "this is retVal : " + userHeader.UserName;
    }
    return " check not successed ";
  }
}

第三步:在客戶端進行調用:
1.       添加WEB引用
2.       實例化服務類
3.       實例化SOAP頭(在客戶端將會自動生成作來作驗證的屬性;該屬性類型為:UserSoapHeader;該屬性的名稱為:UserSoapHeaderValue) ;自動生成的屬性生成規則為:驗證類型名稱+Value;
4.       調用服務提供的方法。

WebService s = new WebService();
    UserSoapHeader a = new UserSoapHeader();
    a.UserName = "admin";
    a.Pwd = "zz";
    s.UserSoapHeaderValue = a; //此屬性是自動生成的
    Response.Write( s.HelloWorld() ); // this is retVal : admin
 

很簡單吧,希望大家都能夠掌握asp.net中用soapheader作驗證的步驟,謝謝大家的閱讀。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved