【发布时间】:2010-02-11 20:18:45
【问题描述】:
我遇到了一个问题,我尝试访问远程或本地站点中的 Lists.asmx Web 服务并收到 401 错误。需要明确的是,这是 /_vti_bin/Lists.asmx。设置是我有一个 WSS 3.0 站点,它通过肥皂连接到另一个 WSS/MOSS 站点的列表服务。在我们的舞台环境中,这两个站点位于同一个盒子上,但在开发中它们是分开的。无论情况如何,它们都在同一个域中。最初(在重建之前)Web 服务调用在 dev 中运行良好,但不是在阶段,虽然令人费解,但至少证实了我的 Web 服务实现是正确的,问题是授权之一。这是我最初的 Lists 服务设置代码:
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 实例。
干杯
【问题讨论】:
-
仅供参考,该实用程序方法只是屏蔽配置管理器并在字段不存在时抛出详细异常(这就是标志的用途)
标签: web-services sharepoint windows-authentication