HTTP 请求未经授权,客户端身份验证方案"基本"。从服务器收到的身份验证标头为"基本领域="



我正在尝试访问需要身份验证的Soap Web服务(HTTP(。我正在使用WCF来使用该服务。我收到错误消息,因为HTTP请求未经授权,客户端身份验证方案为"基本"。从服务器收到的身份验证标头为"Basic realm="weblogic"。

感谢您的帮助。

这就是我的代码:

var binding = new BasicHttpBinding();               
binding.MaxBufferSize = 2147483647;
binding.MaxReceivedMessageSize = 2147483647;
binding.Security = new BasicHttpSecurity
{
Mode = BasicHttpSecurityMode.TransportCredentialOnly,
Transport = new HttpTransportSecurity()
{
ClientCredentialType = HttpClientCredentialType.Basic
}
};
var endpoint = new System.ServiceModel.EndpointAddress(configuration["webserviceAddres"]);
servicio = new ConsultaMontosOperadosFondosClient(binding, endpoint);
servicio.ClientCredentials.UserName.Password = MyPass;
servicio.ClientCredentials.UserName.UserName = MyUser;

如果服务不是通过https,那么尝试添加领域:(我不确定它是否是weblogic,只是根据你在错误中发布的内容(

binding.Security = new BasicHttpSecurity
{
Mode = BasicHttpSecurityMode.TransportCredentialOnly,
Transport = new HttpTransportSecurity()
{
ClientCredentialType = HttpClientCredentialType.Basic,
Realm = "weblogic"
}
};

在IIS身份验证模块中启用基本身份验证,然后提供用户名/密码。

BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
ServiceReference1.WebService1SoapClient client = new ServiceReference1.WebService1SoapClient(binding, new EndpointAddress("http://10.157.13.69:8001/webservice1.asmx"));
client.ClientCredentials.UserName.UserName = "administrator";
client.ClientCredentials.UserName.Password = "abcd1234!";

如果问题仍然存在,请随时告诉我。

相关内容

  • 没有找到相关文章

最新更新