Udostępnij za pośrednictwem


Metoda ReportingService2010.CreateSubscription

Tworzy subskrypcja dla określonego towaru w baza danych serwera raportów lub w bibliotece programu SharePoint.Niniejsza metoda stosowana do raport element typu.

Przestrzeń nazw:  ReportService2010
Zestaw:  ReportService2010 (w ReportService2010.dll)

Składnia

'Deklaracja
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", RequestNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Function CreateSubscription ( _
    ItemPath As String, _
    ExtensionSettings As ExtensionSettings, _
    Description As String, _
    EventType As String, _
    MatchData As String, _
    Parameters As ParameterValue() _
) As String
'Użycie
Dim instance As ReportingService2010
Dim ItemPath As String
Dim ExtensionSettings As ExtensionSettings
Dim Description As String
Dim EventType As String
Dim MatchData As String
Dim Parameters As ParameterValue()
Dim returnValue As String

returnValue = instance.CreateSubscription(ItemPath, _
    ExtensionSettings, Description, _
    EventType, MatchData, Parameters)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public string CreateSubscription(
    string ItemPath,
    ExtensionSettings ExtensionSettings,
    string Description,
    string EventType,
    string MatchData,
    ParameterValue[] Parameters
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
public:
String^ CreateSubscription(
    String^ ItemPath, 
    ExtensionSettings^ ExtensionSettings, 
    String^ Description, 
    String^ EventType, 
    String^ MatchData, 
    array<ParameterValue^>^ Parameters
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
member CreateSubscription : 
        ItemPath:string * 
        ExtensionSettings:ExtensionSettings * 
        Description:string * 
        EventType:string * 
        MatchData:string * 
        Parameters:ParameterValue[] -> string 
public function CreateSubscription(
    ItemPath : String, 
    ExtensionSettings : ExtensionSettings, 
    Description : String, 
    EventType : String, 
    MatchData : String, 
    Parameters : ParameterValue[]
) : String

Parametry

  • ItemPath
    Typ: System.String
    W pełni kwalifikowana URL element, łącznie z nazwą pliku i w trybie SharePoint rozszerzenia.
  • Description
    Typ: System.String
    Zrozumiały opis jest wyświetlany użytkownikom.
  • EventType
    Typ: System.String
    Typ zdarzenie wyzwalającego subskrypcja.Prawidłowe wartości to TimedSubscription lub SnapshotUpdated.
  • MatchData
    Typ: System.String
    Dane skojarzone z określonym EventType parametru.Ten parametr jest używany przez zdarzenie do dopasowywania subskrypcja ze zdarzeniem jest uruchamiany.

Wartość zwracana

Typ: System.String
Identyfikator subskrypcja, który unikatowo identyfikuje subskrypcja w baza danych serwera raportów lub w bibliotece programu SharePoint.

Uwagi

W poniższej tabela przedstawiono informacje nagłówka i uprawnienia na tej operacji.

Użycie nagłówek protokołu SOAP

(W)TrustedUserHeaderValue

(Ruch wychodzący)ServerInfoHeaderValue

Tryb macierzysty wymagane uprawnienia

ExecuteAndViewAND (CreateAnySubscription OR CreateSubscription)

Tryb programu SharePoint wymagane uprawnienia

ViewListItems()AND (ManageAlerts() OR CreateAlerts())

Można użyć GetExtensionSettings Metoda pobierania listy wymagane ustawienia dla rozszerzenie dostarczania.Muszą przejść wartości tych ustawień wymaganych w ExtensionSettings parametru.Aby uzyskać informacje dotyczące ustawień dostarczania poczty e-mail, zobacz Ustawienia rozszerzenia dostarczania usług raportowania.

Wartość EventType parametru musi odpowiadać zdarzenie, który skonfigurowano dla serwer raportów.Są dwa zdarzenia, które są używane do tworzenia subskrypcji TimedSubscription i SnapshotUpdated.Użyj ListEvents metoda, aby powrócić do listy wszystkich zdarzeń skonfigurowany dla serwer raportów.

Wartość MatchData zależy od parametru typu zdarzenie.Jeśli zdarzenie jest TimedSubscription zdarzenie, ScheduleDefinition obiektu wymagany jest jako MatchData parametru.Musisz najpierw serializować ScheduleDefinition jako XML w celu przekazania go jako wartość ciąg i utworzyć obiekt subskrypcja zależności harmonogramu.Struktura XML może wyglądać w następującym przykładzie:

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

Wartość StartDateTime element przekazywana jako ciąg znaków XML powinien odpowiadać format data ISO 8601.Międzynarodowe data i czas standardowy jest rozszerzony format SSRR-MM-DDThh:mm:ss +/-Z którym "DW" reprezentuje stulecia "Rr" rok "MM" miesiąc i "dd" dzień.Litera "T" Data i czas separator i "gg", "mm", "ss" reprezentują godziny, minuty i sekundy odpowiednio.Reprezentacja ta może być natychmiast następuje "Z" Aby wskazać skoordynowanego czasu uniwersalnego (UTC).Aby wskazać strefę czasową, reprezentowany jako różnicę między czas lokalnym a Coordinated Universal czas "Z" jest poprzedzony przez "+" lub "-" znak, różnica z UTC reprezentowane jako hh: mm.

Jeśli definicja harmonogramu TimedSubscription jest udostępniony harmonogram, musi przekazać identyfikator harmonogramu udostępnionego harmonogramu jako MatchData parametru.Harmonogram jest przekazywany identyfikator, jako ciąg, na przykład "4608ac1b-fc75-4149-9e15-5a8b5781b843".Harmonogram można uzyskać Identyfikatora, wywołując ListSchedules metoda.

Można użyć XmlSerializer klasy automatycznie przekonwertować klasy object na ciąg znaków XML.

Jeśli zdarzenie jest SnapshotUpdated subskrypcja, wartość MatchData powinien być nullodwołanie o wartości null (Nothing w języku Visual Basic) (lub nic nie w języku Visual Basic).

Gdy używana jest ta metoda, będzie zestaw LastExecuted właściwość raportu, aby Brak, Status właściwość subskrypcja do nową subskrypcjęoraz Active właściwość subskrypcja do true.ModifiedBy i ModifiedDate Właściwości raportu zostaną również zaktualizowane.

Każdy harmonogram określony w MatchData parametr musi być w tej samej witrynie i ItemPath.

Przykłady

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