我几天来一直在尝试将 jasper 报告与我的 .net 网站集成。我尝试了多种方法,包括肥皂和休息服务以及另一篇文章中建议的自定义库(http://freeze.ro/?q=node/7)。我知道我已经很接近了,但我对此还很陌生,并且仍在尝试了解这一切是如何运作的。大多数人建议使用其余方法,我在这里找到了一个很好的例子,但我仍然收到错误错误请求。这是我其余请求的代码。
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);
非常感谢任何帮助,我已经阅读并准备放弃,我只是讨厌在我的项目中尝试切换到新的报告服务。
谢谢奥万,他肯定会对我有帮助。不幸的是,我们已经切换到 Crystal Reports,所以我不再需要它。
如果有人遇到此问题,请检查 Ovan 发布的链接。
我成功通过rest v2调用Jasper报告。 请参阅我的脚本作为附加的 URL。 希望对您有帮助。