2013-06-25 97 views
1

試圖通過WebRequest對象執行SSRS報告。調用獲得響應給出了一個「500內部服務器錯誤」,沒有更多的信息(我檢查參數值等在瀏覽器中是有效的)WebRequest for SSRS報告 - 提供500內部服務器錯誤

我調試抓住url,並將其粘貼到瀏覽器中,它的工作成功。

http://devBI/ReportServer?%2fSSRS+Project%2fValuationReport&rs:Command=Render&rs:Format=EXCEL&ReportDate=23/06/2013&ClientCode=QWECT&IsEOM=0 

有問題的代碼是:

WebRequest Request = HttpWebRequest.Create(reportUrl); 
Request.Credentials = CredentialCache.DefaultCredentials; 
log.Debug("Credentials for request: " + Request.Credentials.ToString()); 
if (config.UseInfiniteTimeout) 
{ 
    Request.Timeout = System.Threading.Timeout.Infinite; 
} 
else 
{ 
    Request.Timeout = config.TimeoutSeconds * 1000; 
} 

Request.Method = "GET"; 
try 
{ 
    HttpWebResponse Response = (HttpWebResponse)Request.GetResponse(); 
    using (Stream ResponseStream = Response.GetResponseStream()) 
    { 
     string responseString; 
     StreamHelper.CopyStream(Response.GetResponseStream(), out responseString); 
     ResponseStream.Flush(); 
     ResponseStream.Close(); 

     log.Debug("Response string: " + responseString); 
     return responseString; 
    } 
} 
catch (Exception e) 
{ 
    log.Error("Error encountered during WebRequest/Response: " + e.ToString()); 
    throw; 
} 
+0

以下鏈接對我來說不起作用,但這對於遇到500錯誤並遇到我的問題的其他人可能會有用:(http://stackoverflow.com/問題/ 10911610/ssrs-webpage-error-status-code-500) – SeeMoreGain

+0

您可以嘗試啓用[http日誌](http://msdn.microsoft.com/zh-cn/library/bb630443.aspx)? – Jeroen

回答

0

回答不是所有客戶端都一樣! (日期格式是問題)。

在瀏覽器(Internet Explorer)中進行測試時,允許的日期格式爲dd/MM/yyyy

允許從Visual Studio調用時的日期格式是MM/dd/yyyy

注:我不知道這個行爲可以改變,並且找不到任何有關此SSRS「功能」的文檔。

+0

您的服務器和開發系統可能未配置相同的區域格式。它看起來像你的開發機器被設置爲使用美國格式。 – Ucodia

+0

只需再檢查一次,我的機器(和服務器)就設置爲澳大利亞(NON USA)地區。我猜測我的代碼以某種方式恢復爲默認的美國而不是使用系統設置,但我認爲我不會有時間去追究哪裏。 – SeeMoreGain