0
votes

The code which calls a proxy which is calling web services is:

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);

Please note the first parameter of LoadReport function is: Report

Errors:

The value for parameter 'Report' is not specified. It is either missing from the function call, or it is set to null at Microsoft.ReportingServices.WebServer.ReportExecution2005Impl.LoadReport(String Report, String HistoryID, ExecutionInfo2& executionInfo) at 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) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at ReportExecutionService.LoadReport(String Report, String HistoryID) at Stockamp.Portal.RSData.SAReportServerAccess.GetReportStream(String reportPath, ArrayList parameterValues, String format)

2

2 Answers

0
votes

Did you try allowing null values?

If that doesn't work, check the XML. I've noticed quite frequently when you change items in the layout (like multi-value and blank value) you think you have changed the code, but it really doesn't change.

No matter what your report parameters say, the XML is what really matters.

On the report, click view -> Code from your layout or data tab. Once you see the XML definition for your report, search for the name of your multi-value parameter. I believe it should be enclosed in tag. Check to make sure that the parameter has the following:

<Nullable>true</Nullable>

<AllowBlank>true</AllowBlank>
0
votes

I redid the proxy file using wsdl for framework 1.1. This time it had C# namespaces in them. Now webservice call "LoadReport" is working. So not 100% but probably having namespaces fixed my issue