已经问过一些类似的问题,但是没有一个起作用。
Web api应用程序托管在dev DMZ服务器中。它正在调用托管在我们公司网络中的服务器上的另一个肥皂网络服务。当webapi应用程序调用soap webservice获取令牌时。我收到以下错误消息。
发生一个或多个错误。 (使用客户端身份验证方案“ Ntlm”对HTTP请求进行了未经授权的操作。从服务器收到的身份验证标头是“ NTLM,协商”。)
这是我的代码:
var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
binding.MaxReceivedMessageSize = _apiSettings.Value.MaxReceivedMessageSize; // 200000000;
var endpointAddress = new EndpointAddress(new Uri(_apiSettings.Value.IRWebSvcUrl));
svc = new RWebService40SoapClient(binding, endpointAddress);
svc.ClientCredentials.UserName.UserName = _apiSettings.Value.uName;
svc.ClientCredentials.UserName.Password = _apiSettings.Value.pwd;
var loginResponse = svc.UserLoginAsync(_apiSettings.Value.IRID, _apiSettings.Value.IRPWD, _apiSettings.Value.IRConnName);
return loginResponse.Result.Body.UserLoginResult;