ReportingService2006.CreateSubscription(String, ExtensionSettings, String, String, String, ParameterValue[]) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una sottoscrizione per il report specificato nel database del server di report.
public:
System::String ^ CreateSubscription(System::String ^ Report, ReportService2006::ExtensionSettings ^ ExtensionSettings, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2006::ParameterValue ^> ^ Parameters);
public string CreateSubscription (string Report, ReportService2006.ExtensionSettings ExtensionSettings, string Description, string EventType, string MatchData, ReportService2006.ParameterValue[] Parameters);
member this.CreateSubscription : string * ReportService2006.ExtensionSettings * string * string * string * ReportService2006.ParameterValue[] -> string
Public Function CreateSubscription (Report As String, ExtensionSettings As ExtensionSettings, Description As String, EventType As String, MatchData As String, Parameters As ParameterValue()) As String
Parametri
- Report
- String
URL completo del report, inclusi il nome file e l'estensione rdl.
- ExtensionSettings
- ExtensionSettings
Oggetto ExtensionSettings contenente un elenco di impostazioni specifiche dell'estensione per il recapito.
- Description
- String
Descrizione significativa visualizzata agli utenti.
- EventType
- String
Tipo di evento che attiva la sottoscrizione. I valori validi sono TimedSubscription o SnapshotUpdated.
- MatchData
- String
Dati associati al parametro eventType specificato. Questo parametro viene utilizzato da un evento per individuare una corrispondenza tra la sottoscrizione e un evento generato.
- Parameters
- ParameterValue[]
Matrice di oggetti ParameterValue contenente un elenco di parametri per il report.
Restituisce
ID di sottoscrizione che identifica in modo univoco la sottoscrizione nella raccolta di SharePoint.
Esempio
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)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>" +
"/_vti_bin/ReportServer/ReportService2006.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 ReportingService2006()
rs.Url = "http://<Server Name>" + _
"/_vti_bin/ReportServer/ReportService2006.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
Commenti
Nella tabella seguente vengono mostrate le informazioni sull'intestazione e sulle autorizzazioni relative a questa operazione.
| Intestazioni SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
| Autorizzazioni necessarie | ViewListItems AND ( ManageAlerts or CreateAlerts ) |
È possibile utilizzare il GetExtensionSettings metodo per recuperare un elenco di impostazioni necessarie per un'estensione per il recapito. È necessario passare i valori per queste impostazioni obbligatorie nel ExtensionSettings parametro. Per informazioni sulle impostazioni di recapito tramite posta elettronica, vedere Reporting Services impostazioni dell'estensione per il recapito.
Il valore del EventType parametro deve corrispondere a un evento configurato per il server di report. I due eventi utilizzati per creare le sottoscrizioni sono TimedSubscription e SnapshotUpdated . Utilizzare il ListEvents metodo per restituire un elenco di tutti gli eventi configurati per il server di report.
Il valore del MatchData parametro dipende dal tipo di evento. Se l'evento è un TimedSubscription evento, ScheduleDefinition è necessario un oggetto come MatchData parametro. È innanzitutto necessario serializzare l' ScheduleDefinition oggetto come XML per passarlo come valore stringa e creare una sottoscrizione in base alla pianificazione. La struttura XML potrebbe essere simile a quella dell'esempio seguente:
<ScheduleDefinition>
<WeeklyRecurrence>
<StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>
<WeeksInterval>1</WeeksInterval>
<DaysOfWeek>
<Monday>True</Monday>
</DaysOfWeek>
</WeeklyRecurrence>
</ScheduleDefinition>
Il valore dell' StartDateTime elemento quando viene passato come stringa XML deve corrispondere al formato di data ISO 8601. Questo standard di data e ora internazionale è il formato esteso formato AAAA-MM-GGThh: mm: SS +/-Z dove "CC" rappresenta il secolo, "YY", "MM", il mese e il giorno "gg". La lettera "T" è il separatore di data e ora e "HH", "mm", "SS" rappresentano rispettivamente l'ora, il minuto e il secondo. Questa rappresentazione può essere immediatamente seguita da una "Z" per indicare l'ora UTC (Coordinated Universal Time). Per indicare il fuso orario, rappresentato come differenza tra l'ora locale e l'ora UTC (Coordinated Universal Time), "Z" è preceduto da un segno "+" o "-", seguito dalla differenza rispetto all'ora UTC rappresentata come HH: mm.
Se la definizione della pianificazione per TimedSubscription è una pianificazione condivisa, è necessario passare l'ID pianificazione della pianificazione condivisa come MatchData parametro. L'ID della pianificazione viene passato come String , ad esempio, "4608ac1b-fc75-4149-9e15-5a8b5781b843". È possibile ottenere l'ID pianificazione chiamando il ListSchedules metodo.
È possibile utilizzare la System.Xml.Serialization.XmlSerializer classe per convertire automaticamente la classe di oggetti in una stringa XML.
Se l'evento è una SnapshotUpdated sottoscrizione, il valore di MatchData deve essere null (o Nothing in Visual Basic).
Quando si utilizza questo metodo, la LastExecutedSpecified proprietà della sottoscrizione viene impostata su false , la Status proprietà della sottoscrizione su new subscription e tutte le proprietà dell'oggetto della sottoscrizione Active su false . ModifiedBy ModifiedDate Verranno aggiornate anche le proprietà e del report.
Qualsiasi pianificazione specificata nel MatchData parametro deve trovarsi nello stesso sito e in Report .