连接到网络时无法访问Web服务:: HTTP 407

时间:2010-02-18 06:50:46

标签: c# service access-denied windows-xp-sp3

我有一个与Web服务通信的控制台应用程序。它们都在同一台机器上。

当我禁用LAN时访问Web服务时,它连接没有问题。但是,如果LAN已启用并连接到我们的办公室网络,则会收到此错误:

“需要HTTP 407代理身份验证 - ISA Server需要授权才能完成请求。拒绝访问Web代理服务。”

我们一直在寻找问题的根源三天了。我们已经尝试了所有我们能想到的东西。是什么原因造成了这个问题?

附加说明: - 计算机处于工作组设置但具有DNS后缀(computer.local)。访问网络服务时,我们将地址键入“http://machine.computer.local/service.asmx

  • 我与IT人员交谈,他们说我们没有安装ISA服务器

  • IE中没有设置“代理”。

  • 机器状况良好。

3 个答案:

答案 0 :(得分:1)

显然,我与之交谈过的IT人员并不了解公司范围内的ISA服务器。

使用Wireshark,我将数据转储到HTML文件(标准HTTP 407错误页面)。它清楚地显示了ISA服务器的主机名和IP地址。

简而言之,问题是ISA服务器。虽然如果托管站点的IIS服务器位于计算机本身(localhost)上,机器将与ISA服务器联系的原因仍然是一个谜。

解决方法:使用bypassonlocal属性。

<configuration>
   <system.net>
      <defaultProxy>
         <proxy proxyaddress="<ISA-SERVER>" bypassonlocal="true"/>
      </defaultProxy>
   </system.net>
</configuration>

答案 1 :(得分:0)

尝试将以下行添加到hosts文件中:

127.0.0.1 machine.computer.local

答案 2 :(得分:0)

在Web.config的“配置”部分下添加:

 <system.net>
   <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
 </system.net>

然后就像一个魅力!