2011-08-18 4 views
1

Nous concevons un rapport avec une interface multilingue. Nous avons développé un service web qui renvoie la traduction de mots spécifiques. Est-il possible d'appeler la traduction des étiquettes utilisées dans le rapport via le service Web ou une URL spécifique.SSRS Appel URL externe/service web

Par exemple. quelque chose comme

http://domain.com/translate?w=WORD-TO-Translate&L=ar 

Répondre

0

J'allais recommander la création d'un ensemble de mesure qui ferait, mais tout cela fonctionne à partir du Générateur de rapports, il ne semble pas fonctionner de mon serveur SSRS. Je me demande s'il y a un problème de connexion à un service Web à partir d'un assemblage personnalisé (ou peut-être que je me trompe). Au lieu de cela, je vais vous diriger vers another method pour faire des traductions.

Si vous voulez prendre l'approche de l'assemblage sur mesure, voici le code que je utilise:

using System; 
using System.IO; 
using System.Net; 

namespace SSRSCustomAssembly 
{ 
    public class Translate 
    { 
     public static string TranslateString(string input, string locale) 
     { 
      string url = string.Format("http://domain.com/translate?w={0}&L={1}", input, locale); 

      HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); 
      req.Method = "GET"; 

      HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 
      StreamReader sr = new StreamReader(resp.GetResponseStream()); 
      return sr.ReadToEnd(); 
     } 
    } 
} 

Dans votre rapport, il suffit d'ajouter une référence à l'assemblée, l'appeler en ayant une expression : = SSRSCustomAssembly.Translate.TranslateString ("word", "en")