Establecer la propiedad Url del servicio web
En las aplicaciones de Microsoft .NET Framework, puede modificar en cualquier momento la dirección URL base del servicio web del servidor de informes al que se dirige la aplicación. Para ello, basta con establecer la propiedad Url del objeto de servicio. Por ejemplo:
Dim rs As New ReportingService2010()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "https://<Server Name>/reportserver/ReportService2010.asmx"
ReportingService2010 service = new ReportingService2010();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
rs.Url = "https://<Server Name>/reportserver/ReportService2010.asmx";
El ejemplo siguiente recupera una definición de informe de un servidor de informes y utiliza esa definición para crear un informe idéntico en un servidor de informes diferente:
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2010()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
' Set the base Web service URL of the source server
rs.Url = "https://<Server Name>/reportserver/ReportService2010.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.GetItemDefinition(reportName)
' Set the base Web service URL of the destination server
rs.Url = "https://<Server Name>/reportserver/ReportService2010.asmx"
' Create a copy of the report on the destination server
Dim warnings As Warning() = {}
rs.CreateCatalogItem("Report", "Company Sales Copy", "/", False, reportDefinition, Nothing, warnings)
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;
// Set the base Web service URL of the source server
rs.Url = "https://<Server Name>/reportserver/reportservice2010.asmx";
string reportName = "/SampleReports/Company Sales";
byte[] reportDefinition = null;
try
{
reportDefinition = rs.GetItemDefinition(reportName);
// Set the base Web service URL of the destination server
rs.Url = "https://<Server Name>/reportserver/ReportService2010.asmx";
// Create a copy of the report on the destination server
Warning[] warnings = {};
rs.CreateCatalogItem("Report", "Company Sales Copy", "/", false, reportDefinition, null, out warnings);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}
Para más información sobre cómo crear el proxy del servicio web inicial, vea Crear el proxy del servicio web.