ReportingService2010.SetDataDrivenSubscriptionProperties Method

Sets the properties of a data-driven subscription.

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


<SoapHeaderAttribute("TrustedUserHeaderValue")> _
<SoapDocumentMethodAttribute("", RequestNamespace := "",  _
    ResponseNamespace := "",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Sub SetDataDrivenSubscriptionProperties ( _
    DataDrivenSubscriptionID As String, _
    ExtensionSettings As ExtensionSettings, _
    DataRetrievalPlan As DataRetrievalPlan, _
    Description As String, _
    EventType As String, _
    MatchData As String, _
    Parameters As ParameterValueOrFieldReference() _
Dim instance As ReportingService2010
Dim DataDrivenSubscriptionID As String
Dim ExtensionSettings As ExtensionSettings
Dim DataRetrievalPlan As DataRetrievalPlan
Dim Description As String
Dim EventType As String
Dim MatchData As String
Dim Parameters As ParameterValueOrFieldReference()

instance.SetDataDrivenSubscriptionProperties(DataDrivenSubscriptionID, _
    ExtensionSettings, DataRetrievalPlan, _
    Description, EventType, MatchData, _
[SoapDocumentMethodAttribute("", RequestNamespace = "", 
    ResponseNamespace = "", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public void SetDataDrivenSubscriptionProperties(
    string DataDrivenSubscriptionID,
    ExtensionSettings ExtensionSettings,
    DataRetrievalPlan DataRetrievalPlan,
    string Description,
    string EventType,
    string MatchData,
    ParameterValueOrFieldReference[] Parameters
[SoapDocumentMethodAttribute(L"", RequestNamespace = L"", 
    ResponseNamespace = L"", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
void SetDataDrivenSubscriptionProperties(
    String^ DataDrivenSubscriptionID, 
    ExtensionSettings^ ExtensionSettings, 
    DataRetrievalPlan^ DataRetrievalPlan, 
    String^ Description, 
    String^ EventType, 
    String^ MatchData, 
    array<ParameterValueOrFieldReference^>^ Parameters
[<SoapDocumentMethodAttribute("", RequestNamespace = "", 
    ResponseNamespace = "", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member SetDataDrivenSubscriptionProperties : 
        DataDrivenSubscriptionID:string * 
        ExtensionSettings:ExtensionSettings * 
        DataRetrievalPlan:DataRetrievalPlan * 
        Description:string * 
        EventType:string * 
        MatchData:string * 
        Parameters:ParameterValueOrFieldReference[] -> unit 
public function SetDataDrivenSubscriptionProperties(
    DataDrivenSubscriptionID : String, 
    ExtensionSettings : ExtensionSettings, 
    DataRetrievalPlan : DataRetrievalPlan, 
    Description : String, 
    EventType : String, 
    MatchData : String, 
    Parameters : ParameterValueOrFieldReference[]


  • Description
    Type: System.String
    A meaningful description that is displayed to users.
  • EventType
    Type: System.String
    The type of event that triggers the subscription. The valid values are TimedSubscription or SnapshotUpdated.
  • MatchData
    Type: System.String
    The data that is associated with the specified type of event. This data is used by an event processing extension to match the subscription with an event that has fired.


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


In order for the data-driven subscription to run properly, the data source that the DataRetrievalPlan object references must have a CredentialRetrieval property set to Store.

The Field objects contained in the DataSet are checked against the fields that are mapped to delivery extension settings and report parameter values. All fields that are referenced in delivery extension settings and report parameter values must also be enumerated in the dataset.

No validation is performed to ensure that fields enumerated in the dataset are returned by the delivery query. If a field that is enumerated in the dataset is not returned by the delivery query, the report server raises an error when the subscription is processed.

The value of the EventType parameter must correspond to an event processing extension that is configured on the report server. If an event is not handled by an event processing extension, a SOAP exception is thrown with the error code rsInvalidEvent. The event must be handled by an event processing extension that creates notifications. When a value for the EventType parameter is received, the event processing extension is queried to determine whether it creates notifications. If it does not, a SOAP exception is thrown with the error code rsEventNonSubscribeable.

The value of the MatchData parameter depends on the event type. If the event is a TimedSubscription event, a ScheduleDefinition object is required as the MatchData parameter. You must first serialize the ScheduleDefinition object as XML in order to pass it as a string value and create a subscription based on the schedule. The XML structure might look like the one in the following example:


The value of the StartDateTime element when passed as an XML string should correspond to the date format ISO 8601. This international date and time standard is the extended format CCYY-MM-DDThh:mm:ss+/-Z where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day. The letter "T" is the date and time separator and "hh", "mm", "ss" represent hour, minute and second respectively. This representation may be immediately followed by a "Z" to indicate Coordinated Universal Time (UTC). To indicate the time zone, represented as the difference between the local time and Coordinated Universal Time, "Z" is preceded by a "+" or "-" sign, followed by the difference from UTC represented as hh:mm.

If the schedule definition for a TimedSubscription is a shared schedule, then you must pass the schedule ID of the shared schedule as the MatchData parameter. The schedule ID is passed as a String, for example, "4608ac1b-fc75-4149-9e15-5a8b5781b843". The schedule ID can be obtained by calling the ListSchedules() method.

You can use the XmlSerializer class to automatically convert your object class into an XML string. For more information about the XmlSerializer class, see "System.Xml.XmlSerializer Class" in the Microsoft .NET Framework documentation.

If the event is a snapshot update subscription, the value of the MatchData parameter should be nulla null reference (Nothing in Visual Basic) (Nothing in Visual Basic).