Condividi tramite


ReportingService2010.CreateSubscription Metodo

Definizione

Crea una sottoscrizione per l'elemento specificato nel database del server di report o nella raccolta di SharePoint. Questo metodo si applica al tipo di elemento 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

Parametri

ItemPath
String

URL completo dell'elemento, inclusi il nome file e, in modalità SharePoint, l'estensione.

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 specificato EventType . 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 l'elemento.

Restituisce

ID di sottoscrizione che identifica in modo univoco la sottoscrizione nel database del server di report o nella raccolta di SharePoint.

Attributi

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)  
    {  
        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  

Commenti

Nella tabella seguente vengono mostrate le informazioni sull'intestazione e sulle autorizzazioni relative a questa operazione.

Utilizzo intestazione SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Autorizzazioni necessarie per la modalità nativa ExecuteAndView AND (CreateAnySubscription OR CreateSubscription)
Autorizzazioni necessarie per la modalità SharePoint <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> AND (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> OR <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>)

È possibile utilizzare il GetExtensionSettings metodo per recuperare un elenco delle impostazioni necessarie per un'estensione per il recapito. È necessario passare i valori per queste impostazioni necessarie 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 usati per creare 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, è necessario un ScheduleDefinition oggetto come MatchData parametro . È necessario prima serializzare l'oggetto ScheduleDefinition come XML per passarlo come valore stringa e creare una sottoscrizione in base alla pianificazione. La struttura XML potrebbe essere simile a quella nell'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'elemento StartDateTime quando viene passato come stringa XML deve corrispondere al formato di data ISO 8601. Questo standard di data e ora internazionale è il formato esteso CCYY-MM-DDThh:mm:ss+/-Z dove "CC" rappresenta il secolo, "AA" l'anno, "MM" il mese e "DD" il giorno. La lettera "T" è il separatore di data e ora e "hh", "mm", "ss" rappresentano rispettivamente ora, minuto e 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 universale coordinata, "Z" è preceduto da un segno "+" o "-", seguito dalla differenza rispetto all'ora UTC rappresentata come hh:mm.

Se la definizione di pianificazione per un TimedSubscription oggetto è una pianificazione condivisa, è necessario passare l'ID pianificazione della pianificazione condivisa come MatchData parametro . L'ID pianificazione viene passato come String, ad esempio , "4608ac1b-fc75-4149-9e15-5a8b5781b843". L'ID pianificazione può essere ottenuto chiamando il ListSchedules metodo .

È possibile utilizzare la classe per convertire automaticamente la System.Xml.Serialization.XmlSerializer classe oggetto in una stringa XML.

Se l'evento è una SnapshotUpdated sottoscrizione, il valore di MatchData deve essere null (o Nothing in Visual Basic).

Quando si usa questo metodo, imposta la LastExecutedSpecified proprietà della sottoscrizione su false, la Status proprietà della sottoscrizione su new subscriptione tutte le proprietà dell'oggetto della Activesottoscrizione su false. Vengono aggiornate anche le ModifiedBy proprietà e ModifiedDate del report.

Qualsiasi pianificazione specificata nel MatchData parametro deve trovarsi nello stesso sito e nell'oggetto ItemPath.

Si applica a