2011-07-10 24 views
0

我必须使用安全的(https)Web服务,这需要域用户凭据。我有以下代码来访问该服务。在C中访问安全的Web服务#

public string GetResponse() 
    { 
     var web = new ProxyStatisticsWebServiceSoapClient(); 
     web.ClientCredentials.Windows.AllowNtlm = true; 
     web.ClientCredentials.Windows.ClientCredential = new NetworkCredential("username", 
      "password", "domail"); 
     var result = web.QueryProxyStatistics(); 

     return result; 
    } 

每当我打电话web.QueryProxyStatistics();方法,我得到MessageSecurityException例外。 (该HTTP请求未经授权,客户端认证方案为'匿名',从服务器收到的认证头是'NTLM'。)代码有什么问题吗?

+0

你可以发布你的客户服务配置? – Khepri

回答

0

尝试使用下面的代码:

web.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; 
+0

试过仍然没有快乐! –

+0

请发布您的配置设置:服务器和客户端。 – platon