Возникает ошибка при рендеринге в PDF из служб Reporting Services.
-
19-09-2019 - |
Вопрос
У меня есть отчет в службах отчетов MS, который отлично отображается на экране (при просмотре отчета через веб-интерфейс служб отчетов), но когда я экспортирую его в PDF-файл, возникает ошибка.
Следующий YSOD отображается при попытке доступа к отчету через веб-службы, но ошибки отчета также возникают при рендеринге в PDF из веб-интерфейса служб отчетов.
Любые идеи о том, как я могу отследить причину этой проблемы?
Server Error in '/****' Application.
--------------------------------------------------------------------------------
An error occurred during rendering of the report. ---> Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An error occurred during rendering of the report. ---> System.NullReferenceException: Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.Services.Protocols.SoapException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An error occurred during rendering of the report. ---> System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SoapException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An error occurred during rendering of the report. ---> System.NullReferenceException: Object reference not set to an instance of an object.]
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +431678
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +204
EZTrac.Infrastructure.Reporting.Services.Impl.ReportExecutionService.Render(String Format, String DeviceInfo, String& Extension, String& MimeType, String& Encoding, Warning[]& Warnings, String[]& StreamIds) in d:\TeamBuild\WorkingDirectory\Nightly Build\EZTrac.Infrastructure.Reporting\Services\Impl\ReportExecutionService.cs:827
EZTrac.Infrastructure.Reporting.Services.Impl.PaccarReportService.GetReport(IReport report) in d:\TeamBuild\WorkingDirectory\Nightly Build\EZTrac.Infrastructure.Reporting\Services\Impl\PaccarReportService.cs:75
EZTrac.Controllers.ReportController.GenerateReport(IReport report) in d:\TeamBuild\WorkingDirectory\Nightly Build\EZTrac\Controllers\ReportController.cs:181
EZTrac.Controllers.ReportController.GetReportFileStreamResult(ReportInputBase reportInput) in d:\TeamBuild\WorkingDirectory\Nightly Build\EZTrac\Controllers\ReportController.cs:174
EZTrac.Controllers.ReportController.DealerTransactionReportDownload(DealerTransactionForm form) in d:\TeamBuild\WorkingDirectory\Nightly Build\EZTrac\Controllers\ReportController.cs:78
lambda_method(ExecutionScope , ControllerBase , Object[] ) +85
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +178
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +24
System.Web.Mvc.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7() +53
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +258
System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +20
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +258
System.Web.Mvc.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() +20
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +193
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +382
System.Web.Mvc.Controller.ExecuteCore() +123
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +23
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +7
System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +144
System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) +54
System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) +7
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3053
РЕДАКТИРОВАТЬ
похоже, что когда отчет очень большой (не знаю, каков порог), PDF-файл не отображается.(40+ страниц PDF делают это ошибкой, но не 5 или меньше, например).
Решение
Возможно, будет хорошей идеей попытаться просмотреть журналы ошибок на сервере, который отображает отчет.Посмотрите, не происходит ли что-то особенное с RS.Можете ли вы создать отчет локально из Visual Studio в формате PDF?
Я уже видел подобное поведение раньше, если оно действительно истекло.Должен ли этот отчет занять некоторое время?А как насчет экспорта в другие форматы?