Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic

ReportingService2010.ListMySubscriptions Method

Retrieves a list of subscriptions that have been created by the current user of the report server or SharePoint site for the given catalog item.

Namespace:  ReportService2010
Assembly:  ReportService2010 (in ReportService2010.dll)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/ListMySubscriptions", RequestNamespace = "http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
	ResponseNamespace = "http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
	Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public Subscription[] ListMySubscriptions(
	string ItemPathOrSiteURL
)

Parameters

ItemPathOrSiteURL
Type: System.String
The fully qualified URL of the site or item including the file name and, in SharePoint mode, the extension.
If a report server URL or SharePoint site URL is specified, all subscriptions of the current user at the given server or site is returned.

Return Value

Type: ReportService2010.Subscription[]
An array of Subscription objects that contain all the subscriptions for the current user of the report server or SharePoint site for the given catalog item.

The table below shows header and permissions information on this operation.

SOAP Header Usage

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

Native Mode Required Permissions

None

SharePoint Mode Required Permissions

None

In native mode, if ItemPathOrSiteURL is a folder, this method returns all subscriptions owned by the user for reports under that path to which user has the following permissions: ReadAnySubscription OR ((ReadSubscription AND the user is the subscription owner and the subscription is a timed subscription). If ItemPathOrSiteURL is a report, then this method returns all subscriptions owned by the user that satisfy the same set of permissions requirements for that report.

In SharePoint integrated mode, if ItemPathOrSiteURL is a site or a folder, this method returns all subscriptions owned by the user for reports under that path to which user has the following permissions: ManageAlerts() OR (CreateAlerts() AND the user is the subscription owner and the subscription is a timed subscription). If ItemPathOrSiteURL is a report, then this method returns all subscriptions owned by the user that satisfy the same set of permissions requirements for that report.

If no subscriptions are found for the given site, an empty Subscription array is returned.

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.ListMySubscriptions("http://<Server Name>");

            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);
        }
    }
}
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.