Compartir a través de


ReportingService2010.CreateSubscription Método

Definición

Crea una suscripción para el elemento especificado en la base de datos del servidor de informes o biblioteca de SharePoint. Este método se aplica al tipo de 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

Parámetros

ItemPath
String

Dirección URL completa del elemento, incluidos el nombre de archivo y la extensión, en modo de SharePoint.

ExtensionSettings
ExtensionSettings

Objeto ExtensionSettings que contiene una lista de opciones de configuración que es específica de la extensión de entrega.

Description
String

Descripción significativa que se muestra a los usuarios.

EventType
String

Tipo de evento que desencadena la suscripción. Los valores válidos son TimedSubscription o SnapshotUpdated.

MatchData
String

Datos asociados al parámetro especificado EventType . Un evento utiliza este parámetro para hacer coincidir la suscripción con un evento que ha desencadenado.

Parameters
ParameterValue[]

Matriz de objetos ParameterValue que contiene una lista de parámetros para el elemento.

Devoluciones

Identificador de suscripción que identifica de forma única la suscripción en la base de datos del servidor de informes o biblioteca de SharePoint.

Atributos

Ejemplos

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  

Comentarios

En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.

Uso del encabezado SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permisos necesarios en modo nativo ExecuteAndView AND (CreateAnySubscription OR CreateSubscription)
Permisos necesarios en modo de SharePoint <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> AND (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> OR <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>)

Puede usar el GetExtensionSettings método para recuperar una lista de la configuración necesaria para una extensión de entrega. Debe pasar valores para estos valores necesarios en el ExtensionSettings parámetro . Para obtener información sobre la configuración de entrega de correo electrónico, consulte Reporting Services Configuración de la extensión de entrega.

El valor del EventType parámetro debe corresponder a un evento configurado para el servidor de informes. Los dos eventos que se usan para crear suscripciones son TimedSubscription y SnapshotUpdated. Use el ListEvents método para devolver una lista de todos los eventos configurados para el servidor de informes.

El valor del MatchData parámetro depende del tipo de evento. Si el evento es un TimedSubscription evento, se requiere un ScheduleDefinition objeto como MatchData parámetro . Primero debe serializar el ScheduleDefinition objeto como XML para pasarlo como un valor de cadena y crear una suscripción basada en la programación. La estructura XML podría ser similar a la del ejemplo siguiente:

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

El valor del StartDateTime elemento cuando se pasa como una cadena XML debe corresponder al formato de fecha ISO 8601. Este estándar internacional de fecha y hora es el formato extendido CCYY-MM-DDThh:mm:ss+/-Z donde "CC" representa el siglo, "AAA" el año, "MM" el mes y "DD" el día. La letra "T" es el separador de fecha y hora y "hh", "mm", "ss" representan hora, minuto y segundo respectivamente. Esta representación puede ir seguida inmediatamente de una "Z" para indicar la hora universal coordinada (UTC). Para indicar la zona horaria, representada como la diferencia entre la hora local y la hora universal coordinada, "Z" va precedida de un signo "+" o "-", seguido de la diferencia de UTC representada como hh:mm.

Si la definición de programación de es TimedSubscription una programación compartida, debe pasar el identificador de programación de la programación compartida como MatchData parámetro . El identificador de programación se pasa como String, por ejemplo, "4608ac1b-fc75-4149-9e15-5a8b5781b843". El identificador de programación se puede obtener llamando al ListSchedules método .

Puede usar la clase para convertir la System.Xml.Serialization.XmlSerializer clase de objeto en una cadena XML automáticamente.

Si el evento es una SnapshotUpdated suscripción, el valor de MatchData debe ser null (o Nothing en Visual Basic).

Cuando se usa este método, establecerá la LastExecutedSpecified propiedad de la suscripción en false, la Status propiedad de la suscripción en new subscriptiony todas las propiedades del objeto de Activela suscripción en false. Las ModifiedBy propiedades y ModifiedDate del informe también se actualizan.

Cualquier programación especificada en el MatchData parámetro debe estar en el mismo sitio y .ItemPath

Se aplica a