ReportingServices 2008 Web服务LoadReport返回错误,指出缺少“report”参数

时间:2011-03-03 01:11:15

标签: c# ssrs-2008

调用正在调用Web服务的代理的代码是:

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 / rptSharedRepresentativeReport”,null);

请注意,LoadReport功能的第一个参数是:报告

错误:

未指定参数“报告”的值。它在函数调用中丢失,或者设置为null   在Microsoft.ReportingServices.WebServer.ReportExecution2005Impl.LoadReport(String Report,String HistoryID,ExecutionInfo2& executionInfo)    在Microsoft.ReportingServices.WebServer.ReportExecutionService.LoadReport(String Report,String HistoryID,ExecutionInfo& executionInfo)

at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message,WebResponse response,Stream responseStream,Boolean asyncCall)    在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object []参数)    在ReportExecutionService.LoadReport(String Report,String HistoryID)    at Stockamp.Portal.RSData.SAReportServerAccess.GetReportStream(String reportPath,ArrayList parameterValues,String format)

2 个答案:

答案 0 :(得分:0)

您是否尝试过允许空值?

如果不起作用,请检查XML。我经常注意到你在布局中更改项目时(比如多值和空值),你认为你已经改变了代码,但它确实没有改变。

无论您的报告参数说什么,XML都是真正重要的。

在报告中,点击查看 - >布局或数据选项卡中的代码。看到报表的XML定义后,请搜索多值参数的名称。我相信它应该用标签括起来。检查以确保参数具有以下内容:

<Nullable>true</Nullable>

<AllowBlank>true</AllowBlank>

答案 1 :(得分:0)

我使用wsdl为框架1.1重新编写代理文件。这次它有C#名称空间。 现在webservice调用“LoadReport”正在运行。所以不是100%但可能有命名空间 解决了我的问题