我将使用WCF访问一个网络服务。我正在使用WSHttpBinding,安全模式设置为传输(https),客户端凭据类型为基本身份验证。当我使用代理访问服务时,会出现401未授权的异常。
以下是绑定信息:
当使用Http Analyzer查看Http头时
CONNECT HEADER
(请求行):CONNECT somehost.com:443 HTTP/1.1 主机:somehost.com 代理连接:保持活动状态
POST HEADER
(请求行):POST /Company/1.0 HTTP/1.1 内容类型:application/soap+xml; charset=utf-8 VsDebuggerCausalityData:uIDPo+voStemjalOv5LtRotFQ7UAAAAAUKLJpa755k6oRwto14BnuE2PDtYKxr9LhfqXFSOo8pEACQAA 主机:somehost.com 内容长度:898 期望:100-continue 连接:保持活动状态
如果您发现缺少授权标头
现在我的问题是为什么WCF调用缺少授权标头?我是否遗漏了什么?请告知需要更多信息。
以下是绑定信息:
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 HEADER
(请求行):CONNECT somehost.com:443 HTTP/1.1 主机:somehost.com 代理连接:保持活动状态
POST HEADER
(请求行):POST /Company/1.0 HTTP/1.1 内容类型:application/soap+xml; charset=utf-8 VsDebuggerCausalityData:uIDPo+voStemjalOv5LtRotFQ7UAAAAAUKLJpa755k6oRwto14BnuE2PDtYKxr9LhfqXFSOo8pEACQAA 主机:somehost.com 内容长度:898 期望:100-continue 连接:保持活动状态
如果您发现缺少授权标头
现在我的问题是为什么WCF调用缺少授权标头?我是否遗漏了什么?请告知需要更多信息。