【发布时间】:2014-04-21 19:24:50
【问题描述】:
我几天来一直在尝试将 jasper 报告与我的 .net 网站集成。我尝试了几种方法,包括肥皂和休息服务以及另一篇文章中建议的自定义库(http://freeze.ro/?q=node/7)。我知道我很接近,但我对此相当陌生,并且仍在尝试了解这一切是如何运作的。大多数人建议使用 rest 方法,我在这里找到了一个很好的例子,但我仍然收到错误 Bad Request。这是我的其余请求代码。
WebClient httpClient = new WebClient();
httpClient.Credentials = new NetworkCredential("username", "password");
httpClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// Build resourceDescriptor
string requestXml;
requestXml = "<resourceDescriptor name=\"Invoice\" wsType=\"reportUnit\" uriString=\"/reports/Nosreports/Invoice\"";
requestXml += " isNew=\"false\">";
requestXml += " <parameter name=\"invoiceid\">1016242</parameter>n";
requestXml += "</resourceDescriptor>";
// Send PUT, the requestAllResult contains the above <report>...
string requestAllResult = httpClient.UploadString("http://SRV9:8080/jasperserver/rest/report/reports/NOSreports/Invoice?RUN_OUTPUT_FORMAT=PDF", "PUT", requestXml);
// Extract uuid and file
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(requestAllResult);
XmlNode node = doc.DocumentElement.SelectSingleNode("uuid");
string uuid = node.InnerText;
//Build GET URL
string reportUrl = "http://SRV9:8080/jasperserver/rest/resources/report/";
reportUrl += uuid;
reportUrl += "?file=report";
// Get report
string report;
report = httpClient.DownloadString(reportUrl);
非常感谢任何帮助我已经阅读并阅读并准备放弃,我只是不想在我的项目中尝试切换到新的报告服务。
【问题讨论】:
-
这对我帮助很大,希望对你也有帮助[同样的问题已解决][1] [1]:stackoverflow.com/questions/9623685/…
标签: c# asp.net rest report jasperserver