LoadReport веб-службы ReportingServices 2008 возвращает ошибку, в которой говорится, что параметр «report» отсутствует - PullRequest
0 голосов
/ 03 марта 2011

Код, который вызывает прокси, который вызывает веб-сервисы:

ReportExecutionService rs = new ReportExecutionService (); rs.Timeout = System.Threading.Timeout.Infinite; rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

string execURL = ConfigurationSettings.AppSettings ["ReportsBasePath"] + @ "/ ReportExecution2005.asmx"; rs.Url = execURL;

ExecutionInfo execInfo = rs.LoadReport ("/ Reports / rptSharedRepresenlativeReport", null);

Обратите внимание, что первый параметр функции LoadReport : Отчет

Ошибка:

Значение параметра «Отчет» не указано. Он либо отсутствует в вызове функции, либо имеет значение null в Microsoft.ReportingServices.WebServer.ReportExecution2005Impl.LoadReport (Строковый отчет, String HistoryID, ExecutionInfo2 & executeInfo) в Microsoft.ReportingServices.WebServer.ReportExecutionService.LoadReport (Строковый отчет, String HistoryID, ExecutionInfo & executeInfo)

в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (сообщение SoapClientMessage, ответ WebResponse, поток responseStream, логический asyncCall) в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object [] параметры) at ReportExecutionService.LoadReport (String Report, String HistoryID) at Stockamp.Portal.RSData.SAReportServerAccess.GetReportStream (String reportPath, параметр ArrayListValues, формат строки)

Ответы [ 2 ]

0 голосов
/ 06 марта 2011

Я переделал файл прокси, используя wsdl для framework 1.1. На этот раз в них были пространства имен C #. Теперь вызов веб-сервиса «LoadReport» работает. Так что не 100%, но, вероятно, с пространствами имен исправил мою проблему

0 голосов
/ 03 марта 2011

Вы пытались разрешить нулевые значения?

Если это не сработает, проверьте XML. Я часто замечал, что когда вы меняете элементы в макете (например, многозначное и пустое значение), вы думаете, что изменили код, но он действительно не меняется.

Независимо от того, что говорят параметры вашего отчета, XML - это то, что действительно имеет значение.

В отчете нажмите «Просмотр» -> «Код» на макете или вкладке данных. Как только вы увидите определение XML для вашего отчета, найдите имя вашего многозначного параметра. Я считаю, что это должно быть включено в тег. Убедитесь, что параметр имеет следующее значение:

<Nullable>true</Nullable>

<AllowBlank>true</AllowBlank>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...