ReportingService2010.CreateSubscription Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un abonnement pour l’élément spécifié dans la base de données serveur de rapports ou la bibliothèque SharePoint. Cette méthode s’applique au type d’objet 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
Paramètres
- ItemPath
- String
L’URL entièrement qualifiée de l’élément incluant le nom du fichier et, en mode SharePoint, l’extension.
- ExtensionSettings
- ExtensionSettings
Un ExtensionSettings objet contenant une liste de paramètres spécifiques à l’extension de livraison.
- Description
- String
Une description significative qui est affichée aux utilisateurs.
- EventType
- String
Le type d’événement qui déclenche l’abonnement. Les valeurs valides sont TimedSubscription ou SnapshotUpdated.
- MatchData
- String
Les données associées au paramètre spécifié EventType . Ce paramètre est utilisé par un événement pour associer l’abonnement à un événement qui a été déclenché.
- Parameters
- ParameterValue[]
Un tableau d’objets ParameterValue contenant une liste de paramètres pour l’élément.
Retours
Un identifiant d’abonnement qui identifie de manière unique l’abonnement dans la base de données serveur de rapports ou dans la bibliothèque SharePoint.
- Attributs
Exemples
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
Remarques
Le tableau ci-dessous présente les informations sur l’en-tête et les autorisations concernant cette opération.
| Utilisation de l’en-tête SOAP | (En) TrustedUserHeaderValue (Dehors) ServerInfoHeaderValue |
| Mode natif : autorisations requises | ExecuteAndView ET (CreateAnySubscription OU CreateSubscription) |
| Permissions requises en mode SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> ET (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> OU <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>) |
Vous pouvez utiliser cette GetExtensionSettings méthode pour obtenir une liste des paramètres requis pour une extension de livraison. Vous devez passer les valeurs de ces réglages requis dans le ExtensionSettings paramètre. Pour des informations sur les paramètres de livraison des e-mails, consultez les paramètres d’extension de livraison de Reporting Services.
La valeur du EventType paramètre doit correspondre à un événement configuré pour le serveur de rapport. Les deux événements utilisés pour créer des abonnements sont TimedSubscription et SnapshotUpdated. Utilisez la ListEvents méthode pour retourner une liste de tous les événements configurés pour le serveur de rapports.
La valeur du MatchData paramètre dépend du type d’événement. Si l’événement est un TimedSubscription événement, un ScheduleDefinition objet est requis comme MatchData paramètre. Vous devez d’abord sérialiser l’objet ScheduleDefinition en XML afin de le passer en tant que valeur de chaîne et de créer un abonnement basé sur le planning. La structure XML pourrait ressembler à celle de l’exemple suivant :
<ScheduleDefinition>
<WeeklyRecurrence>
<StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>
<WeeksInterval>1</WeeksInterval>
<DaysOfWeek>
<Monday>True</Monday>
</DaysOfWeek>
</WeeklyRecurrence>
</ScheduleDefinition>
La valeur de l’élément StartDateTime lorsqu’il est transmis en chaîne XML doit correspondre au format de date ISO 8601. Cette norme internationale de date et d’heure est le format étendu CCYY-MM-DDThh :mm :ss+/-Z où « CC » représente le siècle, « YY » l’année, « MM » le mois et « DD » le jour. La lettre « T » est le séparateur de date et d’heure, et « hh », « mm », « ss » représentent respectivement l’heure, la minute et la seconde. Cette représentation peut être immédiatement suivie d’un « Z » pour indiquer le Temps Universel Coordonné (UTC). Pour indiquer le fuseau horaire, représenté par la différence entre l’heure locale et l’heure universelle coordonnée, « Z » est précédé d’un signe « + » ou « - », suivi de la différence avec UTC représentée par hh :mm.
Si la définition de l’horaire pour a TimedSubscription est un horaire partagé, vous devez passer l’identifiant de l’horaire partagé comme MatchData paramètre. L’identifiant du calendrier est transmis comme String, par exemple, « 4608ac1b-fc75-4149-9e15-5a8b5781b843 ». L’ID de l’ordonnance peut être obtenu en appelant la ListSchedules méthode.
Vous pouvez utiliser la System.Xml.Serialization.XmlSerializer classe pour convertir automatiquement votre classe objet en chaîne XML.
Si l’événement est un SnapshotUpdated abonnement, la valeur de MatchData devrait être null (ou Nothing dans Visual Basic).
Lorsque cette méthode est utilisée, elle fixera la LastExecutedSpecified propriété de l’abonnement à false, la Status propriété de l’abonnement à new subscription, et toutes les propriétés de l’abonnement Actives’objectent à false. Les ModifiedBy propriétés et ModifiedDate du rapport sont également mises à jour.
Tout programme spécifié dans le MatchData paramètre doit être au même site et le ItemPath.