就我所阅读和理解的内容而言,当我不发送身份验证时会发生这种情况。
但我试着用两种方式发送它:
string userN = "username";
string _pasw = "password";
BasicHttpBinding binding = new BasicHttpBinding();
Endpoint wsdl = new Endpoint("MyEndpoint");
SoapClient client = new SoapClient(binding, wsdl);
client.ClientCredentials.UserName.UserName = userN;
client.ClientCredentials.UserName.Password = _pasw;
await client.OpenAsync();
还有:
HttpClient request = new HttpClient();
var svcCredentianls = Encoding.ASCII.GetBytes(userN + ":" + _pasw);
request.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(svcCredentianls));
但无论如何我都有这样的错误:
系统.服务模型.安全性.消息安全性异常:'HTTP要求未受权使用“Anonymous”客户端验证配置。从服务器收到的验证信头是“Basic realm=“SAP NetWeaver Application Server [PRD/400]""。'
我哪里错了还是我错过了什么?
1条答案
按热度按时间6ljaweal1#
我认为问题出在web.config中的绑定配置。请检查安全节点。
下面你可以找到我的工作例子:
如果您不使用web.config配置,则可以尝试使用以下代码调整BasicHttpBinding创建代码: