【发布时间】:2011-05-04 02:50:36
【问题描述】:
我正在使用 WCF 访问 Web 服务。使用 WSHttpBinding,安全模式设置为传输 (https),客户端凭据类型为基本。当我尝试使用代理访问服务时,收到 401 未经授权的异常。
这里是绑定
var binding = new WSHttpBinding()
{
UseDefaultWebProxy = true,
Security =
{
Mode = SecurityMode.Transport,
Transport =
{
ClientCredentialType = HttpClientCredentialType.Basic,
},
}
};
这里是服务调用
var client = new InternetClient(binding, new EndpointAddress("httpsurl"));
client.ClientCredentials.UserName.UserName = "username";
client.ClientCredentials.UserName.Password = "password";
client.ProcessMessage("somevalue");
当使用 Http Analyzer 查看 Http 标头时 连接头
(请求行):CONNECT somehost.com:443 HTTP/1.1
主持人:somehost.com
代理连接:保持活动
帖子标题
(请求行):POST /Company/1.0 HTTP/1.1
内容类型:应用程序/soap+xml;字符集=utf-8
VsDebuggerCausalityData:uIDPo+voStemjalOv5LtRotFQ7UAAAAAUKLJpa755k6oRwto14BnuE2PDtYKxr9LhfqXFSOo8pEACQAA
主持人:somehost.com
内容长度:898
期望:100-继续
连接:保持活动状态
如果您看到标头授权标头丢失
现在我的问题是为什么 WCF 调用缺少授权标头?我错过了什么吗? .请询问您是否需要更多信息
【问题讨论】:
标签: wcf http-headers