Мы приобрели приложение, написанное примерно в 2003 году. Часть приложения использует службы отчетов SQL Server для создания PDF-отчетов. В основном в приложении пользователь нажимает кнопку, изменяет параметры (начальную / конечную дату), и отчет передается (я думаю) в формате PDF, чтобы его можно было распечатать. Отлично. Прекрасно работает в SQL 2005.
Тем не менее, SQL 2008 - это еще одно чудовище. Я могу запустить тот же отчет из веб-интерфейса (http://127.0.0.1/reports/...)., но URL не работает. Я покопался и обнаружил, что приложение отправляет вызов на 127.0.0.1/reportserver/reportservice.asmx. Теперь оно возвращает пустое строка вместо документа XML.
Возможно, существует версия, совместимая с 2005, под названием reportserver / reportexecution2005.asmx, но она генерирует странную ошибку SOAP. "System.Web.Services.Protocols.SoapException: сервер не распознал значение HTTP-заголовка SOAPAction: http://schemas.microsoft.com/sqlserver/2003/12/reportingservices/Render. в System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouterRequest () ....
Теперь я замечаю, что когда я пытаюсь использовать Internet Explorer и перехожу к 127.0.0.1/reportserver/reportservice.asmx, я получаю приглашение на вход в систему, тогда как это было не так с SSRS 2005. Я также замечаю, что если я перехожу к reportserver /reportexecution2005.asmx возвращает XML-страницу, которая в основном похожа на ту, что была возвращена в SSRS 2005.
Так что, очевидно, я что-то упустил. Я думаю, так как приложение было создано некоторое время назад, я должен был использовать версию SQL2000, которая является 127.0.0.1/reportserver/reportservice.asmx. Но я думаю, что теперь есть ошибка аутентификации.
Так или иначе. Я невежественен. У кого-нибудь есть мысли? Спасибо.
У нас нет исходного кода для приложения, но я могу изменить параметры соединения, как я могу попросить его запросить ReportServiceXXX.asmx вместо ReportService.asmx