Asp.net Web应用工作时,来自第三部分程序集的Web服务调用失败

Asp.net Web应用工作时,来自第三部分程序集的Web服务调用失败,asp.net,web-services,Asp.net,Web Services,我有一个使用XML web服务的ASP.NET web应用程序。web应用程序还使用外部(业务)程序集,该程序集也使用相同的XML web服务。我已经验证了两者都使用相同的凭据并指向相同的url,但是来自外部程序集的调用都失败,因为401:Access Denied 哦,这只是在我们的QA环境中。我们的开发环境运行良好 经过一些额外的诊断之后,我发现(仅在QA环境中)我们分配给代理类的凭据在外部程序集的情况下没有被使用。下面是实例化web服务客户端的代码: var credentials = n

我有一个使用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错误的原因。但是,这段代码在web应用程序内部工作。正在进行什么?

web服务在QA中的配置与在IIS上的生产中的配置相同吗?我知道的唯一区别是,该服务在dev中本地运行,但在QA中的不同系统上运行。服务客户端的两个实例都使用相同的url(并且是正确的url)。请记住,相同的代码和服务调用在dev&QA中的web应用程序中工作得非常好。只有来自业务程序集的服务调用在QA中失败。(所有这些都不在Prod中,因为它没有通过QA,因为它不工作。)