Setting the Url Property of the Web Service

At any time in your Microsoft .NET Framework applications, you can modify the base URL of the Report Server Web service to which your application is currently directed. To do this, simply set the Url property of the service object. For example:

Dim rs As New ReportingService2005()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://myserver/reportserver/ReportingService2005.asmx"
ReportingService service = new ReportingService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
rs.Url = "http://myserver/reportserver/ReportingService2005.asmx";

The following example retrieves a report definition from one report server and uses that definition to create an identical report on a different report server:

Imports System
Imports System.Web.Services.Protocols

Class Sample
   Public Shared Sub Main()
      Dim rs As New ReportingService2005()
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials
      ' Set the base Web service URL of the source server
      rs.Url = "http://mySourceServer/reportserver/ReportingService2005.asmx"

      Dim reportName As String = "/SampleReports/Company Sales"
      Dim reportDefinition As Byte() = Nothing

      Try
         ' Get the report definition of a report on a source server
         reportDefinition = rs.GetReportDefinition(reportName)
         ' Set the base Web service URL of the destination server
         rs.Url = "http://myDestinationServer/reportserver/ReportingService2005.asmx"
         ' Create a copy of the report on the destination server
         rs.CreateReport("Company Sales Copy", "/", False, reportDefinition, Nothing)      
      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;
      // Set the base Web service URL of the source server
      rs.Url = "http://mySourceServer/reportserver/reportservice.asmx";

      string reportName = "/SampleReports/Company Sales";
      byte[] reportDefinition = null;

      try
      {
         reportDefinition = rs.GetReportDefinition(reportName);
         // Set the base Web service URL of the destination server
         rs.Url = "http://myDestinationServer/reportserver/ReportingService2005.asmx";
         // Create a copy of the report on the destination server
         rs.CreateReport("Company Sales Copy", "/", false, reportDefinition, null);
      }

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

For more information about creating the initial Web service proxy, see Creating the Web Service Proxy.

See Also

Reference

CreateReport
GetReportDefinition

Other Resources

Building Applications Using the Web Service and the .NET Framework
Report Server Web Service

Help and Information

Getting SQL Server 2005 Assistance