zoukankan      html  css  js  c++  java
  • 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、完毕

  • 相关阅读:
    vue后台管理系统项目
    javascript面试题
    webpack学习
    js全局变量收集器
    Koa2框架token验证
    require.js使用
    Koa2中使用art-template模板和静态资源托管
    Koa2POST请求参数
    H5、C3、ES6的新特性
    H5视频播放
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4263164.html
Copyright © 2011-2022 走看看