尝试通过WebRequest对象执行SSRS报告。获得响应的调用给出了“500内部服务器错误”,没有更多信息(我检查参数值等在浏览器中是否有效)
我调试了以获取网址,然后将其粘贴到浏览器中并成功运行。
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 :(得分:0)
回答并非所有客户都是一样的! (日期格式是问题)。
在浏览器(Internet Explorer)中进行测试时允许的日期格式为dd/MM/yyyy
从Visual Studio调用时允许的日期格式为MM/dd/yyyy
注意:我不知道这种行为可以在何处更改,并且无法找到此SSRS“功能”的任何文档