次の方法で共有


CreateRole メソッド

新しいロールをレポート サーバー データベースに追加します。このメソッドは、ネイティブ モードにのみ適用されます。

名前空間:  ReportService2010
アセンブリ:  ReportService2010 (ReportService2010.dll)

構文

'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateRole", RequestNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Sub CreateRole ( _
    Name As String, _
    Description As String, _
    TaskIDs As String() _
)
'使用
Dim instance As ReportingService2010
Dim Name As String
Dim Description As String
Dim TaskIDs As String()

instance.CreateRole(Name, Description, _
    TaskIDs)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateRole", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public void CreateRole(
    string Name,
    string Description,
    string[] TaskIDs
)
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateRole", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
public:
void CreateRole(
    String^ Name, 
    String^ Description, 
    array<String^>^ TaskIDs
)
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateRole", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
member CreateRole : 
        Name:string * 
        Description:string * 
        TaskIDs:string[] -> unit 
public function CreateRole(
    Name : String, 
    Description : String, 
    TaskIDs : String[]
)

パラメーター

  • Name
    型: System. . :: . .String
    新しいロールの名前です。このパラメーターの値の長さは、1 ~ 260 文字までです。
  • Description
    型: System. . :: . .String
    新しいロールの説明です。このパラメーターの値の長さは、1 ~ 512 文字までです。
  • TaskIDs
    型: array<System. . :: . .String> [] () [] []
    ロールに設定するタスクを表すタスク ID の配列です。

説明

次の表に、この操作に関連するヘッダーおよび権限の情報を示します。

SOAP ヘッダーの使用方法

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

ネイティブ モードで必要な権限

CreateRoles (システム)

SharePoint モードで必要な権限

サポートされていません。

SharePoint モードで呼び出されると、このメソッドは OperationNotSupportedSharePointMode 例外をスローします。

Name パラメーターと Description パラメーターは必須ですが、 null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) (Visual Basic では Nothing) を設定することはできません。Name の値は一意である必要があります。

ロール内で少なくとも 1 つのタスクを割り当てる必要があります。単一ロール内でシステムレベルのタスクとアイテムレベルのタスクを組み合わせることはできません。タスクの詳細については、「タスクと権限」を参照してください。

使用例

このコード例をコンパイルするには、Reporting Services の WSDL を参照し、特定の名前空間をインポートする必要があります。詳細については、「Compiling and Running Code Examples」を参照してください。次のコード例では、CreateRole メソッドを使用して、フォルダーとレポートを表示する権限を持つユーザー ロールを作成します。

Imports System
Imports System.Web.Services.Protocols

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

      Try 
         Dim name As String = "Report Browser" 
         Dim desc As String = "View folders and reports." 
    
         Dim tasks As Task() = rs.ListTasks("All")  
         Dim taskIDs As New List(Of String)()  
    
         For Each t As Task In tasks  
            taskIDs.Add(t.TaskID)  
         Next 
    
         rs.CreateRole(name, desc, taskIDs.ToArray())
      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()
   {
      ReportingService2010 rs = new ReportingService2010();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      try
      {
         string name = "Report Browser";
         string desc = "View folders and reports.";

         Task[] tasks = rs.ListTasks("All");
         List<string> taskIDs = new List<string>();

         foreach (Task t in tasks)
         {
            taskIDs.Add(t.TaskID);
         }

         rs.CreateRole(name, desc, taskIDs.ToArray());
      }
      catch (SoapException e)
      {
         Console.WriteLine(e.Detail.InnerXml.ToString());
      }
   }
}