zoukankan      html  css  js  c++  java
  • [CSharp]使用MSSOAPLib30调用WS的身份验证问题

    在使用C#开发的动态生成Soap调用的程序中遇到了一个问题:
    我的程序只能调用那些允许匿名访问的WS,不能访问那些集成Windows身份验证的WS。

    我使用MSSOAPLib30来调用Soap,而且它支持填加身份验证的方法,可我还是没搞懂应该怎么用?试了n个方法了。

     1 using MSSOAPLib30 ;
     2 
     3 
     4 HttpConnector30Class    connector    =    new HttpConnector30Class() ;
     5 
     6 
     7 connector.set_Property("AuthUser", soapInfo.AuthUser);
     8 connector.set_Property("AuthPassword", soapInfo.AuthPassword);
     9 connector.set_Property("ConnectTimeout",soapInfo.ConnectTimeOut);
    10 connector.set_Property("WinHTTPAuthScheme"0x01 | 0x02 | 0x08 | 0x10);
    11 connector.set_Property("EndPointURL",soapInfo.WSDL.ToLower().Replace("?wsdl",""));
    12 connector.set_Property("Timeout",soapInfo.RequestTimeOut);
    13 
    14 connector.Connect();
    15 connector.ConnectWSDL( soapPort );
    16 connector.BeginMessageWSDL( operation );
    17 
    18 
    第10行中的定义我换了n种方法,可还是不行!

    SDK中的例子是
    1 Dim Connector As ISoapConnector
    2 Set Connector = New HttpConnector30
    3 Connector.Property("EndPointURL"= "some URL"
    4 Connector.Property("SoapAction"= "a SOAP Action"

    WinHTTPAuthScheme属性的说明
    Enables you to choose acceptable an authentication mechanism. It applies only to clients running on Windows XP, Windows 2000 or Windows NT 4.0. These are the accetable values. You can combine these values (bitwise OR). 
    0x1 - basic authentication
    0x2 - ntlm auth
    0x8 - digest auth
    0x10 - negotiate auth
    The default value for this property is 0x12 (ntlm and negotiate).

    我应该怎样配置这个属性呢?
  • 相关阅读:
    First Missing Positive
    Find Minimum in Rotated Sorted Array II
    switch两种写法对比
    常用的前端JavaScript方法封装
    如何保证缓存和数据库的一致性?
    14个前端小知识
    dataTable转换特定的类
    C# MD5 32大写位加密 UTF-8编码
    另一个 SqlParameterCollection 中已包含 SqlParameter
    C#实现数据回滚,A事件和B事件同时执行,其中任何一个事件执行失败,都会返回失败
  • 原文地址:https://www.cnblogs.com/xuzhong/p/360724.html
Copyright © 2011-2022 走看看