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 du serveur de rapports ou la bibliothèque SharePoint. Cette méthode s'applique au type d'élément de 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
URL complète de l'élément, y compris le nom du fichier et, en mode SharePoint, l'extension.
- ExtensionSettings
- ExtensionSettings
Objet ExtensionSettings qui contient une liste de paramètres spécifiques à l'extension de remise.
- Description
- String
Description explicite affichée pour les utilisateurs.
- EventType
- String
Type d'événement qui a déclenché l'abonnement. Les valeurs valides sont TimedSubscription
ou SnapshotUpdated
.
- MatchData
- String
Données associées au paramètre spécifié EventType
. Ce paramètre est utilisé par un événement pour faire correspondre l'abonnement avec un événement déclenché.
- Parameters
- ParameterValue[]
Tableau d'objets ParameterValue qui contient une liste de paramètres pour l'élément.
Retours
ID d'abonnement qui identifie l'abonnement de façon unique dans la base de données du serveur de rapports ou 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 suivant présente les informations relatives aux en-têtes et aux autorisations sur cette opération.
Utilisation de l’en-tête SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Autorisations requises en mode natif | ExecuteAndView AND (CreateAnySubscription OR CreateSubscription) |
Autorisations requises en mode SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> AND (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> OR <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>) |
Vous pouvez utiliser la GetExtensionSettings méthode pour récupérer une liste de paramètres requis pour une extension de remise. Vous devez passer des valeurs pour ces paramètres requis dans le ExtensionSettings
paramètre . Pour plus d’informations sur les paramètres de remise par courrier électronique, consultez Reporting Services Paramètres d’extension de remise.
La valeur du EventType
paramètre doit correspondre à un événement configuré pour le serveur de rapports. Les deux événements utilisés pour créer des abonnements sont TimedSubscription
et SnapshotUpdated
. Utilisez la ListEvents méthode pour renvoyer une liste de tous les événements configurés pour le serveur de rapports.
La valeur du paramètre dépend du MatchData
type d’événement. Si l’événement est un TimedSubscription
événement, un ScheduleDefinition objet est requis en tant que MatchData
paramètre . Vous devez d’abord sérialiser l’objet ScheduleDefinition au format XML pour le passer en tant que valeur de chaîne et créer un abonnement en fonction de la planification. La structure XML peut 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 passé en tant que chaîne XML doit correspondre au format de date ISO 8601. Cette norme internationale de date et d’heure est au 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é comme 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 utc représentée par hh:mm.
Si la définition de planification d’un TimedSubscription
est une planification partagée, vous devez passer l’ID de planification de la planification partagée en tant que MatchData
paramètre. L’ID de planification est passé en tant que String
, par exemple, « 4608ac1b-fc75-4149-9e15-5a8b5781b843 ». L’ID de planification peut être obtenu en appelant la ListSchedules méthode .
Vous pouvez utiliser la System.Xml.Serialization.XmlSerializer classe pour convertir automatiquement votre classe d’objet en chaîne XML.
Si l’événement est un SnapshotUpdated
abonnement, la valeur de MatchData
doit être null
(ou Nothing
en Visual Basic).
Lorsque cette méthode est utilisée, elle définit la LastExecutedSpecified propriété de l’abonnement sur false
, la Status propriété de l’abonnement sur new subscription
et toutes les propriétés de l’objet de Activel’abonnement sur false
. Les ModifiedBy propriétés et ModifiedDate du rapport sont également mises à jour.
Toute planification spécifiée dans le MatchData
paramètre doit se trouver dans le même site et le ItemPath
.