Элемент управления ReportViewer в веб-части в SharePoint отображает 401 для некоторых отчетов

Я пытаюсь решить проблему с элементом управления Report Viewer, отображающим сообщение:

Сбой запроса с состоянием HTTP 401: неавторизован.

а не отчет. Это сообщение отображается в том месте, где будет отображаться отчет. Части Share Point на странице отображаются нормально.

Это происходит в элементе управления Report Viewer на странице SharePoint 2013.

Некоторые другие отчеты на других страницах отображаются просто отлично. На сервере отчетов разрешения на просмотр этих отчетов одинаковы.

Среда тестирования с такой же конфигурацией работает правильно. Я не смог найти никаких различий в файле web.config на веб-сервере и в файле RSReportServer.config на сервере отчетов.

Я зашла по трафику из своего браузера, используя вкладку "Сеть" в инструментах разработчика IE, и увидела нечто замечательное POST-запросы от javascript к элементу управления сервера отчетов выглядят так:

/Reserved.ReportViewerWebControl.axd?OpType=SessionKeepAlive&ControlID=597f9e1be96e4291b847ce06da66940d 

и получить статус HTTP 500, тогда как тело ответа составляет всего два байта:

Хорошо

Отчет, который работает правильно, выдает похожие запросы, но только получает статус HTTP 200, также с OK в качестве тела ответа.

В моей тестовой среде, опять же, все по-другому. Отчет отправляет три запроса на ReportViewerWebControl.axd. Первые получают статус HTTP 401. Следующий запрос добавляет заголовок аутентификации с токеном NTLM. Это также получает статус 401. Третий добавляет еще одно значение NTLM и получает статус 200.

Это похоже на некоторый механизм вызова, и я нашел статью MSDN Ошибка: запрос не выполнен с состоянием HTTP 401: не авторизован при открытии отчета в Microsoft Dynamics CRM 4.0 и проверен с добавлением в мой файл RSReportServer.config. Это не помогло, и этот ключ также отсутствует в моей тестовой среде.

Я также включил ведение журнала FailedRequest, чтобы лучше понять внутреннюю ошибку сервера, возвращаемую по запросам в ReportViewerWebControl.axd. Это ведение журнала очень сложное, но я не смог найти ничего, указывающего на причину этой ошибки.

Под резюме запроса это читает

188. view trace 
Warning         -MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName      ManagedPipelineHandler 
Notification    EXECUTE_REQUEST_HANDLER 
HttpStatus      500 
HttpReason      Internal Server Error 
HttpSubStatus   0 
ErrorCode       The operation completed successfully. (0x0) 
ConfigExceptionInfo 

и под аутентификацией и авторизацией

No. Event  
60. view trace  -AUTH_START AuthTypeSupported   MapCliCert 
61. view trace  -AUTH_END   
64. view trace  -AUTH_START AuthTypeSupported   Basic 
65. view trace  -AUTH_END 
68. view trace  -AUTH_START AuthTypeSupported   NT 
70. view trace  -AUTH_END 
91. view trace  -FILTER_AUTH_COMPLETE_START 
92. view trace  -FILTER_AUTH_COMPLETE_END  

Я не понимаю, что все это значит, но это

ErrorCode Операция успешно завершена.

выглядит как противоречие.

У кого-нибудь есть предложения по дальнейшим действиям для решения этой проблемы?

0 ответов

Другие вопросы по тегам