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、完毕

  • 相关阅读:
    mybatis <=或这个>=提示错误Tag name expecte问题解决
    Navicat 设置自增长初始值
    mysql 时间与字符串相互转换
    jquery 动态控制显隐
    mysql 查询常见时间段数据
    jquery 取得select选中的值
    java8 运算语法集
    springboot 单元测试
    idea 自动生成并跳转单元测试
    限制页面被pc端访问
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4263164.html
Copyright © 2011-2022 走看看