Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Web服务客户端_C#_Asp.net Core - Fatal编程技术网

C# Web服务客户端

C# Web服务客户端,c#,asp.net-core,C#,Asp.net Core,我正在尝试访问soap Web服务I.net Core 3.1 我确实通过Microsoft WCF Web服务参考提供商添加了该服务(我键入用户名和密码以获得访问权限) 但我有一些登录问题 如果我尝试simpel HttpClient,它可以正常工作,我可以获得如下访问权限: CredentialCache credentialCache = new CredentialCache(); credentialCache.Add(new Uri("http://xxx"), "Negot

我正在尝试访问soap Web服务I.net Core 3.1 我确实通过Microsoft WCF Web服务参考提供商添加了该服务(我键入用户名和密码以获得访问权限)

但我有一些登录问题

如果我尝试simpel HttpClient,它可以正常工作,我可以获得如下访问权限:

  CredentialCache credentialCache = new CredentialCache();
  credentialCache.Add(new Uri("http://xxx"), "Negotiate", new NetworkCredential(strUserName, strPassword, strDomain));
        HttpClientHandler handler = new HttpClientHandler();
        handler.Credentials = credentialCache;
        var httpClient = new HttpClient(handler);
但是使用WCF Web服务引用,我得到了以下错误: 发生了一个或多个错误。(HTTP请求未经客户端身份验证方案“匿名”授权。从服务器接收的身份验证标头为“协商”。)

那么,我如何让我的客户“谈判”?
或者我还需要做什么?

我以前没有使用过
CredentialCache
,但是从您所说的来看,似乎在第一个示例中使用凭据设置了“协商”HTTP头,而在第二个示例中没有。看看这个演示如何向SOAP请求添加头的例子。我以前没有使用过
CredentialCache
,但是从您所说的来看,它似乎是在用第一个示例中的凭据设置“协商”HTTP头,而不是在第二个示例中。看看这个例子,它展示了如何向SOAP请求添加头。
var client = new xxClient();
var task = Task.Run(async () => await client.GetContactsFromEmailAsync(_test).ConfigureAwait(false)) ;
Console.WriteLine(task.Result.ToString());