Web应用程序工作时,来自第3部分程序集的Web Service调用失败

时间:2011-01-07 16:38:01

标签: asp.net web-services

我有一个使用XML Web服务的ASP.NET Web应用程序。 Web应用程序还使用外部(业务)程序集,该程序集也使用相同的XML Web服务。我已经验证两者都使用相同的凭据并指向相同的URL,但来自外部程序集的调用都失败为401:Access Denied。

哦,这只是在我们的QA环境中。我们的开发环境运行得很好。

经过一些额外的诊断后,我发现(仅在QA环境中)我们分配给代理类的凭据在外部程序集的情况下没有被使用。这是实例化我们的Web服务客户端的代码:

var credentials = new NetworkCredential(userName, password, domain);   

var webService = new PwrWebService()   
{   
    PreAuthenticate = true,   
    Credentials = credentials,   
    CookieContainer = new CookieContainer(),   
    Url = _url   
};

在下一行中,我尝试将webService.Credentials转换为NetworkCredential以验证属性并且转换失败。这告诉我代理没有使用正确的凭据,这就是为什么我在拨打电话时收到401错误的原因。但是,此EXACT代码适用于Web应用程序。 WTH正在进行中???

0 个答案:

没有答案