Partager via


ReportingService2005.CreateRole Method

Adds a new role to the report server database.

Espace de noms: Microsoft.WSSUX.ReportingServicesWebService.RSManagementService2005
Assembly: ReportService2005 (in reportingservice2005.dll)

Syntaxe

'Déclaration
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace:="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", ResponseNamespace:="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction:=SoapHeaderDirection.Out)> _
Public Sub CreateRole ( _
    Name As String, _
    Description As String, _
    Tasks As Task() _
)
[SoapHeaderAttribute("BatchHeaderValue")] 
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", ResponseNamespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)] 
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out)] 
public void CreateRole (
    string Name,
    string Description,
    Task[] Tasks
)
[SoapHeaderAttribute(L"BatchHeaderValue")] 
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace=L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", ResponseNamespace=L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", Use=SoapBindingUse::Literal, ParameterStyle=SoapParameterStyle::Wrapped)] 
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction=SoapHeaderDirection::Out)] 
public:
void CreateRole (
    String^ Name, 
    String^ Description, 
    array<Task^>^ Tasks
)
/** @attribute SoapHeaderAttribute("BatchHeaderValue") */ 
/** @attribute SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", ResponseNamespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped) */ 
/** @attribute SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out) */ 
public void CreateRole (
    String Name, 
    String Description, 
    Task[] Tasks
)
SoapHeaderAttribute("BatchHeaderValue") 
SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateRole", RequestNamespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", ResponseNamespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped) 
SoapHeaderAttribute("ServerInfoHeaderValue", Direction=SoapHeaderDirection.Out) 
public function CreateRole (
    Name : String, 
    Description : String, 
    Tasks : Task[]
)

Paramètres

  • Name
    The name of the new role. The value of this parameter must be between 1 and 260 characters long.
  • Description
    A description of the new role. The value of this parameter must be between 1 and 512 characters long.
  • Tasks
    An array of Task objects that represents the tasks to set for the role. Only the TaskID property of the Task object is submitted to create a role.

Notes

The Name and Description parameters are required and should not be set to null (Nothing in Visual Basic). The value for Name must be unique.

You must assign at least one task to the role. You cannot combine system-level and item-level tasks within a single role. For more information about tasks, see Tâches et autorisations dans Reporting Services.

Exemple

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compilation et exécution d'exemples de code. The following code example uses the CreateRole method to create a user role that has permissions to view folders and reports:

Imports System
Imports System.Web.Services.Protocols

Class Sample
   Public Shared Sub Main()
      Dim rs As New ReportingService2005()
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials

      Dim name As String = "Report Browser"
      Dim desc As String = "View folders and reports."
      Dim setTasks(2) As Task
      setTasks(0) = New Task()
      setTasks(1) = New Task()
      setTasks(2) = New Task()

      Try
         Dim returnedTasks As Task() = rs.ListTasks()

         Dim t As Task
         For Each t In  returnedTasks
            If t.Name = "View reports" Then
               setTasks(0) = t

            Else
               If t.Name = "View folders" Then
                  setTasks(1) = t

               Else
                  If t.Name = "View resources" Then
                     setTasks(2) = t
                  End If
               End If
            End If 
         Next t
         rs.CreateRole(name, desc, setTasks)

      Catch e As SoapException
         Console.WriteLine(e.Detail.InnerXml.ToString())
      End Try
   End Sub 'Main
End Class 'Sample
using System;
using System.Web.Services.Protocols;

class Sample
{
   public static void Main()
   {
      ReportingService2005 rs = new ReportingService2005();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      string name = "Report Browser";
      string desc = "View folders and reports.";
      Task[] setTasks = new Task[3];
      setTasks[0] = new Task();
      setTasks[1] = new Task();
      setTasks[2] = new Task();

      try
      {
         Task[] returnedTasks = rs.ListTasks();

         foreach( Task t in returnedTasks )
         {
            if ( t.Name == "View reports" )
            {
               setTasks[0] = t;
            }

            else if ( t.Name == "View folders" )
            {
               setTasks[1] = t;
            }

            else if ( t.Name == "View resources" )
            {
               setTasks[2] = t;
            }
         }

         rs.CreateRole( name, desc, setTasks );
      }

      catch ( SoapException e )
      {
         Console.WriteLine( e.Detail.InnerXml.ToString() );
      }
   }
}

Sécurité des threads

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Plateformes

Plateformes de développement

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Plateformes cibles

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Voir aussi

Référence

ReportingService2005 Class
ReportingService2005 Members
Microsoft.WSSUX.ReportingServicesWebService.RSManagementService2005 Namespace