2013-03-04 4 views
1

Я использую HttpWebRequest для программного экспорта отчета SSRS 2008 в формате PDF. Моя проблема, однако, в том, что мой NetworkCredentials не работает. При попытке доступа к SSRS я получаю ошибку Unauthorized (401).Получение ошибки «Неавторизованный (401)» в HttpWebRequest для SSRS 2008

Я знаю, что предоставленные NetworkCredentials являются правильными. Если я вхожу в наш веб-сервис SSRS вручную, это точные учетные данные, которые я использую. Кроме того, это работает нормально локально, просто не на нашем сервере.

Отчет запускается на нашем веб-сайте asp.net 4.0. Когда пользователь нажимает на кнопку «Создать отчет», то выполняется следующий код (ошибка происходит на моей 2-ой линии, на WebRequest.Create), чтобы попытаться связаться с моим SSRS 2008:

string sTargetURL = "MY_REPORT_SERVER?/REPORT_NAME&rs:format=pdf&rs:command=render&rc:parameters=Collapsed"; 

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sTargetURL); 
req.PreAuthenticate = true; 

req.Credentials = new NetworkCredential("Username", "Password", "Domain"); 

    HttpWebResponse HttpWResp = (HttpWebResponse)req.GetResponse(); 
    Stream fStream = HttpWResp.GetResponseStream(); 

byte[] fileBytes = ReadFully(fStream); 
HttpWResp.Close(); 

System.Web.HttpContext.Current.Response.Clear(); 
System.Web.HttpContext.Current.Response.ContentType = "application/pdf"; 

System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=\"" + reportName + ".pdf"\""); 
System.Web.HttpContext.Current.Response.BinaryWrite(fileBytes); 
System.Web.HttpContext.Current.Response.Flush(); 
System.Web.HttpContext.Current.Response.End(); 

ответ

0

Вне приложения, вы можете запускать отчет локально и в диспетчере отчетов/сервере? Если да, то какой тип источника данных использует отчет? Возможно, источник данных не принимает учетные данные с двойной перескакиванием с сервера отчетов. Возможно, вам потребуется создать учетную запись домена с необходимыми правами на чтение и настроить источник данных на сервере отчетов, чтобы выдавать эти учетные данные.

Смежные вопросы