我收到错误
System.Net.WebException:客户端身份验证方案"匿名"禁止HTTP请求。
从 BizTalk 发送端口。
任何想法会导致此问题?
如果 Web 服务需要某些身份验证,并且 BizTalk 未发送任何凭据或其他身份验证,则会发生此错误。 因此,您需要进入"安全性"选项卡,将Security mode
设置为"Transport
"或"TransportCredentialOnly
",然后选择一个Transport client credential type
WCF-WebHttp 适配器存在一个已知问题,即使您在 中指定身份验证架构,即使Transport client credential type
中指定身份验证架构,它也会返回如下所示的错误。
故障描述:System.Net.Web异常:HTTP 请求未经授权,客户端身份验证方案"协商"。从服务器收到的身份验证标头为"。
HTTP 请求未经授权,客户端身份验证方案"基本"。从服务器收到的身份验证标头为"。
HTTP 请求未经授权,客户端身份验证方案"匿名"。从服务器收到的身份验证标头为">
HTTP 请求未经授权,客户端身份验证方案"Ntlm"。从服务器收到的身份验证标头为"。
出现这种情况的原因是 WCF-WebHttp 适配器未抢先发送凭据,并期望服务器返回可接受的身份验证方案类型,但在某些服务器/API 中返回为空白,因此出错。 解决此问题的唯一方法是使用自定义 EndPointBehavior,该行为抢先将适当的授权标头添加到有效负载。