Web Service Reporting Services

Testé avec Microsoft SQL Server 2008 R2 with advanced Services

    • Créer une référence au service web :

Dans Visual Studio, ajouter une référence de service web avec l'adresse suivante :

http://<NomDuServeur>/ReportServer_SQLEXPRESS/ReportService2010.asmx .Le service Web est nommé ReportingService2010.

    • Déterminer l'adresse du serveur :

Utiliser le Gestionnaire de configuration de reporting services, par défaut les adresses sont les suivantes :

Pour se connecter au service web :

ReportingService2010 reportingService = new ReportingService2010();

reportingService.Credentials = CredentialCache.DefaultCredentials;

    • Afficher les dossiers et rapports présents à la racine du rapport de seveur de Reporting :

try

{

catalogItems = reportingService.ListChildren("/", false);

}

catch (SoapException e)

{

Console.WriteLine(e.Detail.OuterXml);

}

    • Déterminer le type d'un fichier (rapport, répertoire,etc.) :

if (reportingService.GetItemType(adresseRepertoire) == "Report")

{

}

    • Ouvrir l'éditeur de rapport Report Builder à partir d'un exécutable :

if (reportingService.GetItemType(adresseRapport) == "Report")

{

//L'adresse du serveur de rapport a ici été sauvegardée

// dans le fichier de configuration

//L'adresse par défaut pour SQL Server Express est http://localhost/Reports_SQLEXPRESS

Uri adresseServeurRapports = new Uri(((ClientSettingsSection)ConfigurationManager

.GetSection("applicationSettings/ObtenirCours.Properties.Settings"))

.Settings.Get("ServeurRapport").Value.ValueXml.FirstChild.Value);

if (adresseServeurRapports.Scheme == "http")

{

System.Diagnostics.Process.Start("Explorer", adresseServeurRapports.ToString()

+ "/reportbuilder/reportbuilder_3_0_0_0.application?"

+ adresseRapport);

}

}

    • Ajouter un répertoire sur le serveur de rapport :

//Ajouter un répertoire

if (reportingService.GetItemType(treeViewRapports.SelectedNode.Name) == "Folder")

{

reportingService.CreateFolder("Nouveau Dossier","AdresseDuRepertoireParent", null);

}

    • Supprimer un fichier (répertoire, rapport, etc.) du serveur de rapport :

reportingService.DeleteItem(adresseDuFichierASupprimer);

    • Renommer un fichier (répertoire, rapport, etc.) du serveur de rapport :

//Télécharger le nom et l'adresse du répertoire à renommer

Property[] proprietes = new Property[2];

proprietes[0] = new Property();

proprietes[1] = new Property();

proprietes[0].Name = "Name";

proprietes[1].Name = "Path";

Property[] proprietesNoeudARenommer = reportingService.GetProperties(adresseDuRepertoire, proprietes);

//Déterminer l'adresse du parent actuel du fichier à renommer

string adresseParent = proprietesNoeudARenommer[1].Value.Remove(

proprietesNoeudARenommer[1].Value.Length - proprietesNoeudARenommer[0].Value.Length);

//Renommer le répertoire

reportingService.MoveItem(proprietesNoeudARenommer[1].Value, adresseParent + NouveauNom);