ReportingService2010.GetItemParameters 方法

Returns parameter properties for a specified item. This method can also be used to validate parameter values against parameters for a specified item.

命名空间:  ReportService2010
程序集:  ReportService2010(在 ReportService2010.dll 中)

[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("", RequestNamespace = "", 
	ResponseNamespace = "", 
	Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public ItemParameter[] GetItemParameters(
	string ItemPath,
	string HistoryID,
	bool ForRendering,
	ParameterValue[] Values,
	DataSourceCredentials[] Credentials


The fully qualified URL of the item including the file name and, in SharePoint mode, the extension.
The ID of the item history snapshot. Set the ForRendering parameter to a value of true in order to retrieve parameter properties for an item history snapshot. Set the value to null (Nothing in Visual Basic) if you are retrieving parameters for an item that is not an item history snapshot.
A Boolean expression that indicates how the parameter values are to be used. If set to a value of true, parameter properties that are returned are based on the parameter data that was used during the execution of the item.
The parameter values (ParameterValue objects) that can be validated against the parameters of an item that is managed by the report server.
The data source credentials (DataSourceCredentials objects) that can be used to validate query parameters.


An array of ItemParameter objects that lists the parameters for the item.

The table below shows header and permissions information on this operation.

SOAP Header Usage

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

Native Mode Required Permissions


SharePoint Mode Required Permissions


If the execution setting for the item is Snapshot, the parameter metadata that is returned is the data that was used when the item history snapshot was created. If the execution setting for the item is Live, the parameter metadata returned represents the parameter data that is associated with the specified item.

If you provide a value for the HistoryID parameter and set the ForRendering parameter value to true, the parameter metadata returned represents the parameter data that was used when the item history snapshot was created. The value supplied for HistoryID is ignored if ForRendering is set to false.If ForRendering is false, the parameter metadata returned represents the parameter data that is currently associated with the specified item.

If any parameters values are based on a query and you are interested in returning the query-based parameters' valid values list, set ForRendering to true. In addition, for query-based parameters, you must pass in all of the credential information required to return the query parameters.

When using the GetItemParameters method to validate parameters, the Values parameter is required.

If parameters do not exist for the given item, an empty ItemParameter array is returned.

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example uses the GetItemParameters method to retrieve a list of parameter metadata for a report and then displays the name of each parameter:

using System;
using System.Web.Services.Protocols;

class Sample
   public static void Main()
      ReportingService2010 rs = new ReportingService2010();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      string report = "/SampleReports/Employee Sales Summary";
      bool forRendering = false;
      string historyID = null;
      ParameterValue[] values = null;
      DataSourceCredentials[] credentials = null;
      ItemParameter[] parameters = null;

         parameters = rs.GetItemParameters(report, historyID, forRendering, values, credentials);

         if (parameters != null)
            foreach (ItemParameter rp in parameters)
               Console.WriteLine("Name: {0}", rp.Name);

      catch (SoapException e)