ReportingService2010.ListSubscriptions(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
检索为给定项创建的订阅列表。 此方法适用于Report
项类型。
public:
cli::array <ReportService2010::Subscription ^> ^ ListSubscriptions(System::String ^ ItemPathOrSiteURL);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/ListSubscriptions", 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("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.Subscription[] ListSubscriptions (string ItemPathOrSiteURL);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/ListSubscriptions", 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("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.ListSubscriptions : string -> ReportService2010.Subscription[]
Public Function ListSubscriptions (ItemPathOrSiteURL As String) As Subscription()
参数
- ItemPathOrSiteURL
- String
站点或项的完全限定 URL,其中包括文件名(在 SharePoint 模式下,还有扩展名)。
如果指定报表服务器 URL 或 SharePoint 站点 URL,则返回给定服务器或站点上的所有订阅。
返回
一个 Subscription 对象的数组,该数组包含针对给定站点或项创建的订阅。
- 属性
示例
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;
ExtensionSettings extSettings;
string desc;
ActiveState active;
string status;
string eventType;
string matchData;
ParameterValue[] values = null;
Subscription[] subscriptions = null;
ParameterValueOrFieldReference[] extensionParams = null;
try
{
subscriptions =
rs.ListSubscriptions("http://<Server Name>" +
"/Docs/Documents/AdventureWorks Sample Reports/" +
"Sales Order Detail.rdl");
if (subscriptions != null)
{
// Retrieve properties for the first
// subscription in the list.
rs.GetSubscriptionProperties(
subscriptions[0].SubscriptionID,
out extSettings, out desc, out active,
out status, out eventType, out matchData,
out values);
Console.WriteLine("Description: {0}", desc);
Console.WriteLine("Status: {0}", status);
Console.WriteLine("EventType: {0}", eventType);
Console.WriteLine("matchData: {0}", matchData);
Console.WriteLine("Extension: {0}",
extSettings.Extension);
extensionParams = extSettings.ParameterValues;
if (extensionParams != null)
{
foreach (ParameterValueOrFieldReference
extensionParam in extensionParams)
{
Console.WriteLine((
(ParameterValue)extensionParam).Name +
": " + ((ParameterValue)
extensionParam).Value);
}
}
if (values != null)
{
foreach (ParameterValue pv in values)
{
Console.WriteLine("Name: {0}", pv.Name);
Console.WriteLine("Value: {0}", pv.Value);
}
}
}
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.OuterXml);
}
}
}
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 extSettings As ExtensionSettings
Dim desc As String
Dim active As ActiveState
Dim status As String
Dim eventType As String
Dim matchData As String
Dim values As ParameterValue() = Nothing
Dim subscriptions As Subscription() = Nothing
Dim extensionParams As _
ParameterValueOrFieldReference() = Nothing
Try
Dim report As String = "http://<Server Name>/Docs/" + _
"Documents/AdventureWorks Sample Reports/" + _
"Sales Order Detail.rdl"
subscriptions = rs.ListSubscriptions(report)
If Not (subscriptions Is Nothing) Then
rs.GetSubscriptionProperties( _
subscriptions(0).SubscriptionID, extSettings, _
desc, active, status, eventType, _
matchData, values)
Console.WriteLine("Description: {0}", desc)
Console.WriteLine("Status: {0}", status)
Console.WriteLine("EventType: {0}", eventType)
Console.WriteLine("matchData: {0}", matchData)
Console.WriteLine("Extension: {0}", _
extSettings.Extension)
extensionParams = extSettings.ParameterValues
If Not (extensionParams Is Nothing) Then
Dim extensionParam As _
ParameterValueOrFieldReference
For Each extensionParam In extensionParams
Console.WriteLine(( _
CType(extensionParam, _
ParameterValue).Name + ": " + _
CType(extensionParam, _
ParameterValue).Value))
Next extensionParam
End If
If Not (values Is Nothing) Then
Dim pv As ParameterValue
For Each pv In values
Console.WriteLine("Name: {0}", pv.Name)
Console.WriteLine("Value: {0}", pv.Value)
Next pv
End If
End If
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class
注解
下表显示了有关此操作的标头和权限信息。
SOAP 标头用法 | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
本机模式所需权限 | 报表上的 (ReadSubscription ,并且用户是订阅所有者) 或 ReadAnySubscription |
SharePoint 模式所需权限 | <xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> 或 (<xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts> 报表,并且用户是订阅所有者,订阅是定时订阅) 。 |