Impostazione dello spazio dei nomi degli elementi per il metodo GetPropertiesSetting the Item Namespace for the GetProperties Method

È possibile utilizzare l'intestazione SOAP ItemNamespaceHeader in Reporting ServicesReporting Services per recuperare le proprietà degli elementi in base a due identificatori diversi, ovvero il percorso completo dell'elemento o l'ID dell'elemento.You can use the ItemNamespaceHeader SOAP header in Reporting ServicesReporting Services to retrieve item properties based on two different item identifiers: the full path of the item or the ID of the item.

Quando si effettua una chiamata al metodo GetProperties, normalmente si passa come argomento il percorso completo dell'elemento per il quale si desidera recuperare le proprietà.When you make a call to the GetProperties method, you normally pass as an argument the full path of the item for which you want to retrieve properties. Tramite ItemNamespaceHeader, è possibile impostare l'intestazione SOAP per la chiamata al metodo per utilizzare GetProperties passando l'ID dell'elemento come identificatore.By using ItemNamespaceHeader, you can set the SOAP header for your method call to enable you to use GetProperties by passing the ID of the item as an identifier.

Nell'esempio di codice seguente vengono recuperati i valori per le proprietà dell'elemento in base all'ID dell'elemento.The following code sample retrieves the values for item properties based on the ID of the item.

Nota

Per impostazione predefinita, non è necessario impostare un valore per ItemNamespaceHeader se si passa al metodo GetProperties il nome di un percorso completo come identificatore dell'elemento.By default, you do not need to set a value for the ItemNamespaceHeader if you pass to the GetProperties method the full path name as the item identifier.

Imports System  
Imports System.Collections  

Class Sample  
   Sub Main()  
      Dim rs As New ReportingService2010()  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
      rs.Url = "http://<Server Name>/reportserver/ReportService2010.asmx"  

      Dim items() As CatalogItem  

      Try  
         ' Need the ID property of items. Normally, you would already have   
         ' this stored somewhere.  
         items = rs.ListChildren("/AdventureWorks Sample Reports", False)  

         ' Set the item namespace header to be GUID-based  
         rs.ItemNamespaceHeaderValue = New ItemNamespaceHeader()  
         rs.ItemNamespaceHeaderValue.ItemNamespace = ItemNamespaceEnum.GUIDBased  

         ' Call GetProperties with item ID.  
         If Not (items Is Nothing) Then  
            Dim item As CatalogItem  
            For Each item In  items  
               Dim properties As [Property]() = rs.GetProperties(item.ID, Nothing)  
               Dim property As [Property]  
               For Each property In  properties  
                  Console.WriteLine(([property].Name + ": " + [property].Value))  
               Next property  
               Console.WriteLine()  
            Next item  
         End If  

      Catch e As Exception  
         Console.WriteLine((e.Message + ": " + e.StackTrace))  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.Collections;  

class Sample  
{  
   static void Main()  
   {  
   ReportingService2010 rs = new ReportingService2010();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  
      rs.Url = "http://<Server Name>/reportserver/ReportService2010.asmx";  

      CatalogItem[] items;  

      try  
      {  
         // Need the ID property of items. Normally, you would already have   
         // this stored somewhere.  
         items = rs.ListChildren("/AdventureWorks Sample Reports", false);  

         // Set the item namespace header to be GUID-based  
         rs.ItemNamespaceHeaderValue = new ItemNamespaceHeader();  
         rs.ItemNamespaceHeaderValue.ItemNamespace = ItemNamespaceEnum.GUIDBased;  

         // Call GetProperties with item ID.  
         if (items != null)  
         {  
            foreach( CatalogItem item in items)  
            {  
               Property[] properties = rs.GetProperties(item.ID, null);  
               foreach (Property property in properties)  
               {  
                  Console.WriteLine(property.Name + ": " + property.Value);  
               }  
               Console.WriteLine();  
            }  
         }  
      }  

      catch (Exception e)  
      {  
         Console.WriteLine(e.Message);  
      }  
   }  
}  

Vedere ancheSee Also

Riferimento tecnico (SSRS) Technical Reference (SSRS)
Uso di intestazioni SOAP di Reporting ServicesUsing Reporting Services SOAP Headers