ReportingService2010.CreateSubscription Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una suscripción para el elemento especificado en la base de datos del servidor de informes o en la biblioteca de SharePoint. Este método se aplica al tipo de Report objeto.
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
La URL totalmente cualificada del elemento incluyendo el nombre del archivo y, en modo SharePoint, la extensión.
- ExtensionSettings
- ExtensionSettings
Un ExtensionSettings objeto que contiene una lista de ajustes específicos de la extensión de entrega.
- Description
- String
Una descripción significativa que se muestra a los usuarios.
- EventType
- String
El tipo de evento que activa la suscripción. Los valores válidos son TimedSubscription o SnapshotUpdated.
- MatchData
- String
Los datos asociados al parámetro especificado EventType . Este parámetro es utilizado por un evento para emparejar la suscripción con un evento que se ha activado.
- Parameters
- ParameterValue[]
Un array de ParameterValue objetos que contiene una lista de parámetros para el elemento.
Devoluciones
Un ID de suscripción que identifica de forma única la suscripción en la base de datos del servidor de informes o en la 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
La siguiente tabla muestra la información sobre cabeceras y permisos sobre esta operación.
| Uso de la cabecera SOAP | (En) TrustedUserHeaderValue (Fuera) ServerInfoHeaderValue |
| Permisos requeridos en modo nativo | ExecuteAndView Y (CreateAnySubscription O CreateSubscription) |
| Permisos requeridos en el modo SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> Y (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> O <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>) |
Puedes usar el GetExtensionSettings método para obtener una lista de ajustes necesarios para una extensión de entrega. Debes pasar los valores de estos ajustes requeridos en el ExtensionSettings parámetro. Para información sobre la configuración de entrega de correos electrónicos, consulte Configuración de Extensión de Entrega de Reporting Services.
El valor del EventType parámetro debe corresponder a un evento configurado para el servidor de informes. Los dos eventos que se utilizan para crear suscripciones son TimedSubscription y SnapshotUpdated. Utiliza 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 debes serializar el ScheduleDefinition objeto como XML para poder pasarlo como valor de cadena y crear una suscripción basada en el calendario. La estructura XML podría parecerse a la del siguiente ejemplo:
<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 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, "YY" 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 la hora, el minuto y el segundo respectivamente. Esta representación puede ir seguida inmediatamente de una "Z" para indicar el Tiempo Universal Coordinado (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 respecto a UTC representada como hh:mm.
Si la definición de horario para a TimedSubscription es un horario compartido, debes pasar el ID de horario compartido como MatchData parámetro. El ID del horario se transmite como un String, por ejemplo, "4608ac1b-fc75-4149-9e15-5a8b5781b843". El ID del calendario se puede obtener llamando al ListSchedules método.
Puedes usar la System.Xml.Serialization.XmlSerializer clase para convertir automáticamente tu clase objeto a una cadena XML.
Si el evento es una SnapshotUpdated suscripción, el valor de MatchData debería ser null (o Nothing en Visual Basic).
Cuando se utiliza este método, establecerá la LastExecutedSpecified propiedad de la suscripción a false, la Status propiedad de la suscripción a new subscription, y todas las propiedades de la Activesuscripción objetan a false. Las ModifiedBy propiedades y ModifiedDate del informe también se actualizan.
Cualquier horario especificado en el MatchData parámetro debe estar en el mismo sitio y el ItemPath.