• WebService它Soap头验证进入


    1、创建一个新的类。如"AuthHeaderUser",在传承"System.Web.Services.Protocols.SoapHeader"类别

    2、新WebService,有一个AuthHeaderUser物业类型

    3、新WebService一Web方法,指定Soap头信息,如:
    [SoapHeader("AuthenticationUser")]
    [WebMethod(Description="返回股票行情信息")]
    public DataSet GetQuotedPrice()
    {
    if (AuthenticationUser != null) //step4,验证Soap头是否为空
    {
    //验证
    WebServiceSoapHeaderAuthentication.DAL.LoginResult lr =
    new WebServiceSoapHeaderAuthentication.DAL.UserDAL().Login(AuthenticationUser.UserId, AuthenticationUser.Password);
    if (lr == LoginResult.Succeed)//登录成功
    return new WebServiceSoapHeaderAuthentication.DAL.QuotedPriceDAL().GetQuotedPriceDataset();
    else
    throw new ApplicationException("Log in failed : " + lr.ToString());
    }
    else
    throw new SoapHeaderException("......", SoapException.ClientFaultCode);
    }

    4、client引用:
    //Web服务
    localhost1583QuotedPriceService.QuotedPriceService service =
    new WebServiceSoapHeaderAuthentication.QuotedPriceViewForm.localhost1583QuotedPriceService.QuotedPriceService();

    //准备Soap头
    WebServiceSoapHeaderAuthentication.BOL.User u = CurrentUser.getInstance();
    localhost1583QuotedPriceService.AuthHeaderUser login_user =
    new WebServiceSoapHeaderAuthentication.QuotedPriceViewForm.localhost1583QuotedPriceService.AuthHeaderUser();
    login_user.UserId = u.UserId;
    login_user.Password = u.UserPassword;

    //Soap第一项任务
    service.AuthHeaderUserValue = login_user;

    DataSet ds = service.GetQuotedPrice();
    //todo:......

    5、完成

  • 相关阅读:
    evernote100个做笔记的好方法
    平衡二叉树的调整模版
    晨间日记的奇迹
    hdu 2952 Counting Sheep
    hdu 1535 Invitation Cards
    poj 3259 Wormholes(spfa)
    poj 2263 Heavy Cargo(floyd)
    poj 3268 Silver Cow Party(SPFA)
    hdu 1690 Bus System
    hdu 3631 Shortest Path(Floyd)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4590850.html
Copyright © 2020-2023  润新知