ReportingService2005.GetSubscriptionProperties Method

Returns the properties of a specified subscription.

Namespace:  ReportService2005
Assembly:  ReportService2005 (in ReportService2005.dll)

[SoapDocumentMethodAttribute("", RequestNamespace = "", 
	ResponseNamespace = "", 
	Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public string GetSubscriptionProperties(
	string SubscriptionID,
	out ExtensionSettings ExtensionSettings,
	out string Description,
	out ActiveState Active,
	out string Status,
	out string EventType,
	out string MatchData,
	out ParameterValue[] Parameters


Type: System.String
The ID of the subscription.
Type: ReportService2005.ExtensionSettings%
[out] An ExtensionSettings object that contains a list of settings that are specific to the delivery extension.
Type: System.String%
[out] A meaningful description that is displayed to users.
Type: ReportService2005.ActiveState%
[out] An ActiveState object that contains the active state of the subscription.
Type: System.String%
[out] The status of the subscription.
Type: System.String%
[out] The type of event that triggers the subscription.
Type: System.String%
[out] The data that is associated with the specified type of event. This is used by an event processing extension to match the subscription with an event that has fired.
Type: ReportService2005.ParameterValue[]%
[out] An array of ParameterValue objects that contains a list of parameters for the report.

Return Value

Type: System.String
The user ID of the owner of the subscription.

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

SOAP Headers

(Out) ServerInfoHeaderValue

Required Permissions

(ReadSubscription on the report AND the user is the subscription owner) OR ReadAnySubscription

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 GetSubscriptionProperties method to retrieve the properties of one of the subscriptions for the Product Catalog report, which is owned by the user myDomain\myUserName. The subscription is not data driven, so the code assumes that all the settings for the delivery extension are static parameter values (ParameterValue objects):

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

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

      ExtensionSettings extSettings;
      string desc;
      ActiveState active;
      string status;
      string eventType;
      string matchData;
      ParameterValue[] values = null;
      Subscription[] subscriptions = null;
      ParameterValueOrFieldReference[] extensionParams = null;

         subscriptions = rs.ListSubscriptions( "/SampleReports/Employee Sales Summary", "Domain\\username" );

         if ( subscriptions != null )
            rs.GetSubscriptionProperties( subscriptions[0].SubscriptionID, name, out extSettings, out desc, out active, out status, out eventType, out matchData, out values );

            Console.WriteLine( "Description: {0}", desc );
            Console.WriteLine( "Status: {0}", status );
            Console.WriteLine( "EventType: {0}", eventType );
            Console.WriteLine( "matchData: {0}", matchData );
            Console.WriteLine( "Extension: {0}", extSettings.Extension );

            extensionParams = extSettings.ParameterValues;

            if (extensionParams != null)
               foreach (ParameterValueOrFieldReference extensionParam in extensionParams)
                  Console.WriteLine( ((ParameterValue)extensionParam).Name + ": " + ((ParameterValue)extensionParam).Value );

            if ( values != null )
               foreach ( ParameterValue pv in values )
                  Console.WriteLine( "Name: {0}", pv.Name );
                  Console.WriteLine( "Value: {0}", pv.Value );

      catch ( SoapException e )
         Console.WriteLine( e.Detail.InnerXml.ToString() ); 

Community Additions