Web Services 我有HTTP方案并且期望HTTPS,但是我的绑定是BasicHttpSecurityMode.Transport;我的端点是HTTP

wh6knrhe  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(177)

我的Soap客户端出现了一个身份验证问题,它没有正确接收凭据。这是一个基本的身份验证(用户名和密码),显然是一个绑定问题。
对于身份验证问题,我跳过了这个问题:
系统.服务模型.安全性.消息安全性异常:'HTTP要求未受权使用“Anonymous”客户端验证配置。从服务器收到的验证信头是“Basic realm=“SAP NetWeaver Application Server [PRD/400]""。'
使用binding.Security.Mode = BasicHttpSecurityMode.Transport;来解决这个问题。但是现在我有了一个新的问题,它说:
System.ArgumentException:'提供的URI方案“http”无效;应为“https”。参数名称
我不明白的是,当我使用BasicHttpSecurityMode时,为什么它告诉我该方案是HTTP而期望HTTPS。提供安全的传输是HTTPS

BasicHttpBinding binding = new BasicHttpBinding(); 
 binding.Security.Mode = BasicHttpSecurityMode.Transport;

 SoapClient client = new SoapClient(binding, endpoint);
 client.ClientCredentials.UserName.UserName = _userName;
 client.ClientCredentials.UserName.Password = _password;                
 await client.OpenAsync();

enter image description here

编辑:

现在我尝试使用BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
但这给了我同样的第一个错误:
系统.服务模型.安全性.消息安全性异常:'HTTP要求未受权使用“Anonymous”客户端验证配置。从服务器收到的验证信头是“Basic realm=“SAP NetWeaver Application Server [PRD/400]""。'

xu3bshqb

xu3bshqb1#

binding.Security.Mode = BasicHttpSecurityMode.Transport;

将其设置为HTTPS,但您传递是HTTP如果终结点是HTTP而不是HTTPS,则它将失败

0g0grzrc

0g0grzrc2#

系统.服务模型.安全性.消息安全性异常:'HTTP要求未受权使用“Anonymous”客户端验证配置。从服务器收到的验证信头是“Basic realm=“SAP NetWeaver Application Server [PRD/400]""。'
错误的密码也可能是导致此错误消息的原因。
确保服务器和客户端的配置相同。

相关问题