Bagikan melalui


ReportingService2006.CreateSubscription Metode

Definisi

Membuat langganan untuk laporan yang ditentukan dalam database server laporan.

public:
 System::String ^ CreateSubscription(System::String ^ Report, ReportService2006::ExtensionSettings ^ ExtensionSettings, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2006::ParameterValue ^> ^ Parameters);
public string CreateSubscription (string Report, ReportService2006.ExtensionSettings ExtensionSettings, string Description, string EventType, string MatchData, ReportService2006.ParameterValue[] Parameters);
member this.CreateSubscription : string * ReportService2006.ExtensionSettings * string * string * string * ReportService2006.ParameterValue[] -> string
Public Function CreateSubscription (Report As String, ExtensionSettings As ExtensionSettings, Description As String, EventType As String, MatchData As String, Parameters As ParameterValue()) As String

Parameter

Report
String

URL laporan yang sepenuhnya memenuhi syarat termasuk nama file dan ekstensi nama file .rdl.

ExtensionSettings
ExtensionSettings

Objek ExtensionSettings yang berisi daftar pengaturan yang khusus untuk ekstensi pengiriman.

Description
String

Deskripsi yang bermakna yang ditampilkan kepada pengguna.

EventType
String

Jenis peristiwa yang memicu langganan. Nilai yang valid adalah TimedSubscription atau SnapshotUpdated.

MatchData
String

Data yang terkait dengan parameter yang ditentukan EventType . Parameter ini digunakan oleh peristiwa untuk mencocokkan langganan dengan peristiwa yang telah diaktifkan.

Parameters
ParameterValue[]

Array ParameterValue objek yang berisi daftar parameter untuk laporan.

Mengembalikan

ID langganan yang secara unik mengidentifikasi langganan di pustaka SharePoint.

Contoh

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)  
    {  
        ReportingService2006 rs = new ReportingService2006();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2006.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 ReportingService2006()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2006.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  

Keterangan

Tabel di bawah ini memperlihatkan informasi header dan izin pada operasi ini.

Header SOAP (Dalam) TrustedUserHeaderValue

(Keluar) ServerInfoHeaderValue
Memerlukan izin <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> DAN (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> ATAU <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>)

Anda dapat menggunakan GetExtensionSettings metode untuk mengambil daftar pengaturan yang diperlukan untuk ekstensi pengiriman. Anda harus meneruskan nilai untuk pengaturan yang diperlukan ini ExtensionSettings dalam parameter . Untuk informasi tentang pengaturan pengiriman email, lihat Pengaturan Ekstensi Pengiriman Reporting Services.

Nilai EventType parameter harus sesuai dengan peristiwa yang dikonfigurasi untuk server laporan. Dua peristiwa yang digunakan untuk membuat langganan adalah TimedSubscription dan SnapshotUpdated. ListEvents Gunakan metode untuk mengembalikan daftar semua peristiwa yang dikonfigurasi untuk server laporan.

Nilai MatchData parameter tergantung pada jenis peristiwa. Jika peristiwa adalah TimedSubscription peristiwa, ScheduleDefinition objek diperlukan sebagai MatchData parameter . Anda harus terlebih dahulu membuat serialisasi ScheduleDefinition objek sebagai XML untuk meneruskannya sebagai nilai string dan membuat langganan berdasarkan jadwal. Struktur XML mungkin menyerupai yang ada dalam contoh berikut:

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

Nilai StartDateTime elemen ketika diteruskan sebagai string XML harus sesuai dengan format tanggal ISO 8601. Standar tanggal dan waktu internasional ini adalah format diperpanjang CCYY-MM-DDThh:mm:ss+/-Z di mana "CC" mewakili abad, "YY" tahun, "MM" bulan dan "DD" hari itu. Huruf "T" adalah pemisah tanggal dan waktu dan "hh", "mm", "ss" masing-masing mewakili jam, menit, dan detik. Representasi ini dapat segera diikuti oleh "Z" untuk menunjukkan Waktu Universal Terkoordinasi (UTC). Untuk menunjukkan zona waktu, dinyatakan sebagai perbedaan antara waktu lokal dan Waktu Universal Terkoordinasi, "Z" didahului oleh tanda "+" atau "-", diikuti oleh perbedaan dari UTC yang diwakili sebagai hh:mm.

Jika definisi jadwal untuk adalah TimedSubscription jadwal bersama, Anda harus meneruskan ID jadwal jadwal bersama sebagai MatchData parameter . ID jadwal diteruskan sebagai String, misalnya, "4608ac1b-fc75-4149-9e15-5a8b5781b843". ID jadwal dapat diperoleh dengan memanggil ListSchedules metode .

Anda dapat menggunakan System.Xml.Serialization.XmlSerializer kelas untuk mengonversi kelas objek Anda menjadi string XML secara otomatis.

Jika peristiwa adalah SnapshotUpdated langganan, nilainya MatchData harus null (atau Nothing di Visual Basic).

Ketika metode ini digunakan, metode ini akan mengatur LastExecutedSpecified properti langganan ke false, Status properti langganan ke new subscription, dan semua properti objek langganan Active ke false. Properti ModifiedBy dan ModifiedDate laporan juga diperbarui.

Jadwal apa pun yang ditentukan dalam MatchData parameter harus berada di situs yang sama dan Report.

Berlaku untuk