ReportingService2010.CreateSubscription Methode

Definition

Erstellt ein Abonnement für das angegebene Element in der Berichtsserver-Datenbank oder SharePoint Library. Diese Methode gilt für den Gegenstandstyp Report .

public:
 System::String ^ CreateSubscription(System::String ^ ItemPath, ReportService2010::ExtensionSettings ^ ExtensionSettings, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2010::ParameterValue ^> ^ Parameters);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
public string CreateSubscription(string ItemPath, ReportService2010.ExtensionSettings ExtensionSettings, string Description, string EventType, string MatchData, ReportService2010.ParameterValue[] Parameters);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
member this.CreateSubscription : string * ReportService2010.ExtensionSettings * string * string * string * ReportService2010.ParameterValue[] -> string
Public Function CreateSubscription (ItemPath As String, ExtensionSettings As ExtensionSettings, Description As String, EventType As String, MatchData As String, Parameters As ParameterValue()) As String

Parameter

ItemPath
String

Die vollständig qualifizierte URL des Elements, einschließlich Dateinamen und, im SharePoint-Modus, der Erweiterung.

ExtensionSettings
ExtensionSettings

Ein Objekt, das eine Liste von Einstellungen enthält, die spezifisch für die Liefererweiterung ExtensionSettings sind.

Description
String

Eine aussagekräftige Beschreibung, die den Nutzern angezeigt wird.

EventType
String

Die Art von Ereignis, die das Abonnement auslöst. Die gültigen Werte sind TimedSubscription oder SnapshotUpdated.

MatchData
String

Die Daten, die mit dem angegebenen EventType Parameter verknüpft sind. Dieser Parameter wird von einem Event verwendet, um das Abonnement mit einem ausgelösten Ereignis abzugleichen.

Parameters
ParameterValue[]

Ein Array von ParameterValue Objekten, das eine Liste von Parametern für das Element enthält.

Gibt zurück

Eine Abonnement-ID, die das Abonnement eindeutig in der Berichtsdatenbank oder der SharePoint Library identifiziert.

Attribute

Beispiele

using System;  
using System.Collections.Generic;  
using System.IO;  
using System.Text;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  

class Sample  
{  
    static void Main(string[] args)  
    {  
        ReportingService2010 rs = new ReportingService2010();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2010.asmx";  
        rs.Credentials =   
            System.Net.CredentialCache.DefaultCredentials;  

        string report = "http://<Server Name>" +  
            "/Docs/Documents/AdventureWorks Sample Reports" +  
            "/Sales Order Detail.rdl";  
        string desc = "Send to Document Library";  
        string eventType = "TimedSubscription";  
        string scheduleXml =  
           @"<ScheduleDefinition>" +  
            "   <StartDateTime>2003-02-24T09:00:00-08:00" +  
            "   </StartDateTime>" +  
            "   <WeeklyRecurrence>" +  
            "      <WeeksInterval>1</WeeksInterval>" +  
            "      <DaysOfWeek>" +  
            "         <Monday>True</Monday>" +  
            "      </DaysOfWeek>" +  
            "   </WeeklyRecurrence>" +  
            "</ScheduleDefinition>";  

        ParameterValue[] extensionParams = new ParameterValue[6];  

        extensionParams[0] = new ParameterValue();  
        extensionParams[0].Name = "RENDER_FORMAT";  
        extensionParams[0].Value = "EXCEL";  

        extensionParams[1] = new ParameterValue();  
        extensionParams[1].Name = "FILENAME";  
        extensionParams[1].Value = "Sales Order Detail";  

        extensionParams[2] = new ParameterValue();  
        extensionParams[2].Name = "FILEEXTN";  
        extensionParams[2].Value = "True";  

        extensionParams[3] = new ParameterValue();  
        extensionParams[3].Name = "PATH";  
        extensionParams[3].Value = "http://<Server Name>" +  
            "/Docs/Documents/AdventureWorks Sample Reports/";  

        extensionParams[4] = new ParameterValue();  
        extensionParams[4].Name = "WRITEMODE";  
        extensionParams[4].Value = "Overwrite";  

        extensionParams[5] = new ParameterValue();  
        extensionParams[5].Name = "AUTOCOPY";  
        extensionParams[5].Value = "False";  

        string matchData = scheduleXml;  
        ExtensionSettings extSettings = new ExtensionSettings();  
        extSettings.ParameterValues = extensionParams;  
        extSettings.Extension = "Report Server DocumentLibrary";  

        try  
        {  
            rs.CreateSubscription(report, extSettings, desc,   
                eventType, matchData, null);  
        }  

        catch (SoapException e)  
        {  
            Console.WriteLine(e.Detail.InnerXml.ToString());  
        }  
    }  
}  
Imports System  
Imports System.IO  
Imports System.Text  
Imports System.Web.Services  
Imports System.Web.Services.Protocols  

Class Sample  

    Public Shared Sub Main()  

        Dim rs As New ReportingService2010()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2010.asmx"  
        rs.Credentials = _  
            System.Net.CredentialCache.DefaultCredentials  

        Dim report As String = "http://<Server Name>/Docs/" + _  
            "Documents/AdventureWorks Sample Reports/" + _  
            "Sales Order Detail.rdl"  
        Dim desc As String = "Send to Document Library"  
        Dim eventType As String = "TimedSubscription"  
        Dim scheduleXml As String = _  
            "<ScheduleDefinition>" + _  
            "   <StartDateTime>2003-02-24T09:00:00-08:00</StartDateTime>" + _  
            "   <WeeklyRecurrence>" + _  
            "      <WeeksInterval>1</WeeksInterval>" + _  
            "      <DaysOfWeek>" + _  
            "         <Monday>True</Monday>" + _  
            "      </DaysOfWeek>" + _  
            "   </WeeklyRecurrence>" + _  
            "</ScheduleDefinition>"  

        Dim extensionParams(6) As ParameterValue  

        extensionParams(0) = New ParameterValue()  
        extensionParams(0).Name = "RENDER_FORMAT"  
       extensionParams(0).Value = "EXCEL"  

        extensionParams(1) = New ParameterValue()  
        extensionParams(1).Name = "FILENAME"  
        extensionParams(1).Value = "Sales Order Detail"  

        extensionParams(2) = New ParameterValue()  
        extensionParams(2).Name = "FILEEXTN"  
        extensionParams(2).Value = "True"  

        extensionParams(3) = New ParameterValue()  
        extensionParams(3).Name = "PATH"  
        extensionParams(3).Value = "http://<Server Name>" + _  
            "/Docs/Documents/AdventureWorks Sample Reports/"  

        extensionParams(4) = New ParameterValue()  
        extensionParams(4).Name = "WRITEMODE"  
        extensionParams(4).Value = "Overwrite"  

        extensionParams(5) = New ParameterValue()  
        extensionParams(5).Name = "AUTOCOPY"  
        extensionParams(5).Value = "False"  

        Dim matchData As String = scheduleXml  
        Dim extSettings As New ExtensionSettings()  
        extSettings.ParameterValues = extensionParams  
        extSettings.Extension = "Report Server DocumentLibrary"  

        Try  
            rs.CreateSubscription(report, extSettings, desc, _  
                eventType, matchData, Nothing)  
        Catch e As SoapException  
            Console.WriteLine(e.Detail.InnerXml.ToString())  
        End Try  

   End Sub  

End Class  

Hinweise

Die untenstehende Tabelle zeigt Header- und Berechtigungsinformationen zu dieser Operation.

Verwendung von SOAP-Headern (In) TrustedUserHeaderValue

(Aus) ServerInfoHeaderValue
Erforderliche Berechtigungen im nativen Modus ExecuteAndView UND (CreateAnySubscription ODER CreateSubscription)
Erforderliche Berechtigungen im SharePoint-Modus <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> UND (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> ODER <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>)

Sie können die Methode GetExtensionSettings nutzen, um eine Liste der erforderlichen Einstellungen für eine Liefererweiterung abzurufen. Sie müssen Werte für diese erforderlichen Einstellungen im Parameter ExtensionSettings übergeben. Informationen zu E-Mail-Zustelleinstellungen finden Sie unter Reporting Services Delivery Extension Settings.

Der Wert des Parameters EventType muss einem Ereignis entsprechen, das für den Berichtsserver konfiguriert ist. Die beiden Ereignisse, die zur Erstellung von Abonnements verwendet werden, sind TimedSubscription und SnapshotUpdated. Verwenden Sie die Methode ListEvents , um eine Liste aller für den Berichtsserver konfigurierten Ereignisse zurückzugeben.

Der Wert des Parameters MatchData hängt vom Ereignistyp ab. Wenn das Ereignis ein Ereignis TimedSubscription ist, wird ein ScheduleDefinition Objekt als Parameter MatchData benötigt. Sie müssen das ScheduleDefinition Objekt zunächst als XML serialisieren, um es als String-Wert zu übergeben und ein Abonnement basierend auf dem Zeitplan zu erstellen. Die XML-Struktur könnte der im folgenden Beispiel ähneln:

<ScheduleDefinition>  
   <WeeklyRecurrence>  
      <StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>  
      <WeeksInterval>1</WeeksInterval>  
      <DaysOfWeek>  
         <Monday>True</Monday>  
         </DaysOfWeek>  
   </WeeklyRecurrence>  
</ScheduleDefinition>  

Der Wert des StartDateTime Elements, wenn es als XML-String übergeben wird, sollte dem Datumsformat ISO 8601 entsprechen. Dieser internationale Datums- und Uhrzeitstandard ist das erweiterte Format CCYY-MM-DDThh:mm:ss+/-Z, wobei "CC" das Jahrhundert, "YY" das Jahr, "MM" den Monat und "DD" den Tag darstellt. Der Buchstabe "T" ist der Datums- und Zeittrenner, und "hh", "mm", "ss" stehen jeweils für Stunde, Minute und Sekunde. Diese Darstellung kann unmittelbar von einem "Z" gefolgt werden, um die koordinierte Universalzeit (UTC) anzuzeigen. Um die Zeitzone anzuzeigen, dargestellt als Differenz zwischen der Ortszeit und der koordinierten Universalzeit, wird "Z" von einem "+" oder "-" Zeichen vorangestellt, gefolgt von der Differenz von UTC, die als hh:mm dargestellt wird.

Wenn die Zeitplandefinition für einen TimedSubscription geteilten Zeitplan ist, müssen Sie die Planungs-ID des gemeinsamen Zeitplans als Parameter MatchData übergeben. Die Schedule-ID wird beispielsweise als String"4608ac1b-fc75-4149-9e15-5a8b5781b843" weitergegeben. Die Zeitplan-ID kann durch Aufruf der Methode ListSchedules erhalten werden.

Du kannst die Klasse System.Xml.Serialization.XmlSerializer verwenden, um deine Objektklasse automatisch in eine XML-Zeichenkette umzuwandeln.

Wenn das Ereignis ein SnapshotUpdated Abonnement ist, sollte der Wert von MatchData sein null (oder Nothing in Visual Basic).

Wenn diese Methode verwendet wird, setzt sie die LastExecutedSpecified Eigenschaft des Abonnements auf false, die Status Eigenschaft des Abonnements auf new subscription, und alle Eigenschaften des Objekts Activedes Abonnements auf false. Auch die Eigenschaften ModifiedBy des ModifiedDate Berichts werden aktualisiert.

Jeder im Parameter MatchData angegebene Zeitplan muss sich im selben Standort befinden und der ItemPath.

Gilt für: