ReportingService2005.BatchHeaderValue Property

The value (BatchHeaderValue object) that represents a unique, system-generated batch ID for multi-method operations in the Reporting Services SOAP API.

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

Syntax

'Declaration
Public Property BatchHeaderValue As BatchHeader
    Get
    Set
'Usage
Dim instance As ReportingService2005
Dim value As BatchHeader

value = instance.BatchHeaderValue

instance.BatchHeaderValue = value
public BatchHeader BatchHeaderValue { get; set; }
public:
property BatchHeader^ BatchHeaderValue {
    BatchHeader^ get ();
    void set (BatchHeader^ value);
}
member BatchHeaderValue : BatchHeader with get, set
function get BatchHeaderValue () : BatchHeader
function set BatchHeaderValue (value : BatchHeader)

Property Value

Type: ReportService2005.BatchHeader

Remarks

You can use the BatchHeaderValue property in the SOAP header for Web service calls that you want to batch.

To execute a batch, set the BatchHeaderValue property of the Report Server Web service to a value that is equal to the batch ID generated when the batch was created. For example, the following C# code sets the BatchHeaderValue of the Report Server Web service to a value that is equal to a previously created batch ID and then executes the batch:

rs.BatchHeaderValue = bh;
rs.ExecuteBatch();

For more information about creating a batch ID, see CreateBatch method.

Examples

To compile the following code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example retrieves a list of items in a user's My Reports folder and then deletes the items using a batch operation:

Imports System
Imports System.Web.Services.Protocols

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

      ' Return all items in the My Reports folder.
      Dim items As CatalogItem() = rs.ListChildren("/My Reports", False)

      Dim bh As New BatchHeader()
      bh.BatchID = rs.CreateBatch()
      rs.BatchHeaderValue = bh

      Dim item As CatalogItem
      For Each item In  items
         Console.WriteLine((item.Path + " found."))
         rs.DeleteItem(item.Path)
         Console.WriteLine((item.Path + " deleted."))
      Next item

      Try
         rs.ExecuteBatch()
      Catch ex As SoapException
         Console.WriteLine(ex.Message)
      Finally
         rs.BatchHeaderValue = Nothing
      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;

      // Return all items in the My Reports folder.
      CatalogItem[] items = rs.ListChildren("/My Reports", false);

      BatchHeader bh = new BatchHeader();
      bh.BatchID = rs.CreateBatch();
      rs.BatchHeaderValue = bh;

      foreach (CatalogItem item in items)
      {
         Console.WriteLine(item.Path + " found.");
         rs.DeleteItem(item.Path);
         Console.WriteLine(item.Path + " deleted.");
      }

      try
      {
         rs.ExecuteBatch();
      }
      catch (SoapException ex)
      {
         Console.WriteLine(ex.Message);
      }
      finally
      {
         rs.BatchHeaderValue = null;
      }
   }
}