ReportingService2010.CreateSubscription Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.