ReportingService2010.GetPermissions Method

Returns the user permissions that are associated with a particular item in a report server database or SharePoint library.

Namespace:  ReportService2010
Assembly:  ReportService2010 (in ReportService2010.dll)

Syntax

'Declaration
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
<SoapDocumentMethodAttribute("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetPermissions", 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("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function GetPermissions ( _
    ItemPath As String _
) As String()
'Usage
Dim instance As ReportingService2010
Dim ItemPath As String
Dim returnValue As String()

returnValue = instance.GetPermissions(ItemPath)
[SoapHeaderAttribute("TrustedUserHeaderValue")]
[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetPermissions", 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("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public string[] GetPermissions(
    string ItemPath
)
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
[SoapDocumentMethodAttribute(L"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetPermissions", RequestNamespace = L"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = L"http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
array<String^>^ GetPermissions(
    String^ ItemPath
)
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
[<SoapDocumentMethodAttribute("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetPermissions", 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("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member GetPermissions : 
        ItemPath:string -> string[] 
public function GetPermissions(
    ItemPath : String
) : String[]

Parameters

  • ItemPath
    Type: System.String
    The fully qualified URL of the item including the file name and, in SharePoint mode, the extension.

Return Value

Type: array<System.String[]
An array of String objects that contains a list of permissions associated with the assigned tasks and roles of the item for the current user.

Remarks

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

Examples

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;

        try
        {
            String[] permissions = 
                rs.GetPermissions(
                    "http://<Server Name>/Docs/Documents" +
                    "/AdventureWorks Sample Reports/" +
                    "Sales Order Detail.rdl");

            foreach (string perm in permissions)
            {
                Console.WriteLine(perm);
            }
        }

        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

        Try
            Dim permissions As [String]() = _
                rs.GetPermissions("http://<Server Name>" + _
                    "/Docs/Documents/AdventureWorks Sample " + _
                    "Reports/Sales Order Detail.rdl")

            Dim perm As String
            For Each perm In permissions
                Console.WriteLine(perm)
            Next perm

        Catch e As SoapException
            Console.WriteLine(e.Detail.InnerXml.ToString())
        End Try

    End Sub

End Class