我遇到了一个问题,我尝试访问远程或本地站点中的Lists.asmx Web服务,并收到401错误。要清楚,这是/_vti_bin/Lists.asmx。设置是我有一个WSS 3.0站点,它通过soap连接到另一个WSS / MOSS站点的列表服务。在我们的舞台环境中,这两个站点位于同一个盒子上,但在开发环境中它们是分开的。无论情况如何,他们都在同一个领域。最初(在重建之前)Web服务调用在开发中工作正常,但不在阶段,这令人费解,至少证实我的Web服务的实现是正确的,并且问题是授权之一。这是我的初始列表服务设置代码:
new Lists
{
Url = Utility.AppSetting("WSS.Url", true),
Credentials = new NetworkCredential
{
UserName = Utility.AppSetting("WSS.UserName", true),
Password = Utility.AppSetting("WSS.Password", true),
Domain = Utility.AppSetting("WSS.Domain", true)
}
};
让我手动指定服务器上完整访问帐户的域凭据。但是我怀疑上面的代码没有做任何事情,服务只是使用AD进行身份验证,即我的应用程序池帐户(在dev上是我的超级电源开发帐户)。为了减轻发布过程的负担,我希望能够明确设置服务的凭据,而不是依赖基础设施官员必须给他的应用程序池帐户读取/ Web服务访问远程wss实例。 / p>
干杯
答案 0 :(得分:0)
尝试:
Credentials = System.Net.CredentialCache.DefaultCredentials
或者
Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
答案 1 :(得分:0)
作为参考,问题在于环回检查是Server2k8的一个问题。禁用它修复了错误。