SSRS Report Viewer: request failed with HTTP status 401

thiagarajanct

New Member
I've spent a lot time trying to figure this one out, but without luck - so I will try to post the question here.I am running 2 ASP.NET websites on the same server. Both websites are running on IIS 7.5 + .NET 4. The sites use the SSRS Report Viewer to show reports from an another server. We recently moved both the websites and RS to new servers (switching from RS 2005 to RS 2008 and switching from IIS 7.0 to IIS 7.5). However, after moved to the new servers, one of the websites are unable to view the reporting services, as we get the following error:\[code\]request failed with HTTP status 401\[/code\]The strange thing is, that the Report Viewer is configured exactly the same way in the two websites (simply copy pasted between the two). Further, using the "working website", we are able to view the reports belonging to both websites - and using the other website, we are unable to view any of the reports.The authorization looks like this in both cases:Credentials:\[code\][Serializable]public sealed class ReportServerCreditentials : IReportServerCredentials{ public WindowsIdentity ImpersonationUser { get { return null; } } public ICredentials NetworkCredentials { get { string userName = ConfigurationManager.AppSettings["ReportViewerUser"]; string password = ConfigurationManager.AppSettings["ReportViewerPassword"]; string domain = ConfigurationManager.AppSettings["ReportViewerDomain"]; return new NetworkCredential(userName, password, domain); } } public bool GetFormsCredentials(out Cookie authCookie, out string userName, out string password, out string authority) { authCookie = null; userName = null; password = null; authority = null; return false; }}\[/code\]Report Viewer usage \[code\]public partial class ReportServicesViewer : System.Web.UI.Page{ protected void Page_Init(object sender, EventArgs e) { if (!IsPostBack) { string reportingFolder = ConfigurationManager.AppSettings["ReportingFolder"]; showReport(string.Format("/{0}/{1}", reportingFolder, Request.QueryString["report"])); } } private void showReport(string reportPath) { RevReport.ServerReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["ReportServer"]); RevReport.ServerReport.ReportServerCredentials = new ReportServerCreditentials(); RevReport.ServerReport.ReportPath = reportPath; }}\[/code\]In aspx:\[code\]<rsweb:ReportViewer ID="RevReport" runat="server" Height="100%" Width="100%" Font-Names="Verdana" Font-Size="8pt" ProcessingMode="Remote" ZoomMode="Percent" ZoomPercent="100"></rsweb:ReportViewer>\[/code\]Other observationsAt one point, we tried to monitor the traffic between the website and RS using Fiddler, but somehow the communication actually worked in this case.However, when I tried this at a later point, Fiddler gave the following response:\[code\][Fiddler] The socket connection to <servername> failed. <br />ErrorCode: 10061. <br />No connection could be made because the target machine actively refused it 10.0.0.17:443 \[/code\]I am not sure how exactly to interpret this, as we are not using SSL for the Website <-> RS communication.Any advice would be greatly appreciated.
 
Back
Top