Как получить отчет SSRS с помощью WebRequest? - PullRequest
0 голосов
/ 05 сентября 2018

Я всегда получаю пустой XML-файл, используя мой код, и получаю заполненный XML-файл при запуске URL-адреса из веб-браузера (Chrome). URL-адрес одинаков в обоих случаях (с одинаковыми параметрами) ... строки день и месяц: = "05" и "09"

string period = "From="+day+"/"+month+"/2018%2007:00:00&To="+day+"/"+month+"/2018%2009:00:00";
string response = doRequest(@"http://localserver/ReportServer?%2FSpecial%2FReport&"+period+"&rs:Format=XML");

private string doRequest(string url_with_params){

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url_with_params);
 request.UseDefaultCredentials = true;
 request.PreAuthenticate = true;
 request.Credentials =  new NetworkCredential("login", "password");

 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
  {
   if (response.StatusCode == HttpStatusCode.OK)
        {
            string responseText ="";
            using(var reader =  new System.IO.StreamReader(response.GetResponseStream())){
                responseText = reader.ReadToEnd();
            };
            return responseText;
        }
        response.Close();
        return null;
  }
}

Файл XML, который я запускаю, выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?><Report xsi:schemaLocation="Special_x0020_Report http://localserver/ReportServer?%2FSpecial%2FReport&amp;rs%3AFormat=XML&amp;rc%3ASchema=True" Name="Special Report" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Special_x0020_Report"><Tablix1 /></Report>  

Запуск из браузера:

<?xml version="1.0" encoding="utf-8"?><Report xsi:schemaLocation="Special_x0020_Report http://localserver/ReportServer?%2FSpecial%2FReport&amp;rs%3AFormat=XML&amp;rc%3ASchema=True" Name="Special Report" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Special_x0020_Report"><Tablix1 /><Details_Collection>

<Details Name="Single" Qty="1" FailureCode="@BLOCK"/></Details_Collection></Report>      
...