का उपयोग कर जैस्परसेवर से रिपोर्ट प्राप्त करें आप वेब एप्लिकेशन से मैंज प्राप्त करने और रिपोर्ट चलाने के लिए जास्पर्सरवर्क्स webservices (SOAP और REST उपलब्ध है) का उपयोग कर सकते हैं। एसओएपी wsdl asp.net C# के साथ संगत नहीं है (कम से कम, मैं इसे काम नहीं कर सकता), इसलिए मैंने आरईएसटी webservice का उपयोग करने का फैसला किया।आरईएसटी webservice और asp.net सी #
मैं वहां पर हूं, लेकिन मैं रिपोर्ट को पुनः प्राप्त नहीं कर सकता। क्या किसी को पता है कि क्या गलत है? मैं लिनक्स पर जैस्परसेवर सीई 4.5 का उपयोग कर रहा हूं।
// Setup WebClient
WebClient httpclient = new WebClient();
//Basic Auth
httpclient.Credentials = new NetworkCredential("NAME", "PASSWD");
httpclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// Build resourceDescriptor
string requestXml;
requestXml = "<resourceDescriptor name="budget_overzicht_per_klant" wsType="reportUnit" uriString="/Declaraties/12change/Klant/budget_overzicht_per_klant"n";
requestXml += " isNew="false">n";
requestXml += " <label>null</label>n";
requestXml += " <parameter name="klantid">14</parameter>n";
requestXml += " <parameter name="start">20120101</parameter>n";
requestXml += " <parameter name="eind">20120302'</parameter>n";
requestXml += " <parameter name="Titel">Test 123</parameter>n";
requestXml += "</resourceDescriptor>n";
// Send PUT
string requestAllResult = httpclient.UploadString("http://website/jasperserver/rest/report/Declaraties/12change/Klant/budget_overzicht_per_klant?RUN_OUTPUT_FORMAT=PDF", "PUT", requestXml);
// requestAllResult contains:
//<report>
// <uuid>f521fe7d-7432-4c47-962c-9fec29bdaa43</uuid>
// <originalUri>/Declaraties/12change/Klant/budget_overzicht_per_klant</originalUri>
// <totalPages>4</totalPages>
// <startPage>1</startPage>
// <endPage>4</endPage>
// <file type="application/pdf"><![CDATA[report]]></file>
//</report>
// You have to use the uuid to GET the file 'report'
//
// Extract uuid, filename is always report
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://website/jasperserver/rest/report/";
reportUrl += uuid;
reportUrl += "?file=report";
// the value of report Url is now
// "http://website/jasperserver/rest/report/f521fe7d-7432-4c47-962c-9fec29bdaa43?file=report"
// Get report
string report;
report = httpclient.DownloadString(reportUrl);
// Exception, HTTP 404 ERROR????
त्रुटि का मतलब यह है कि यूयूआईडी वर्तमान सत्र में नहीं है। किसी को यह काम मिल गया है? धन्यवाद!
मेरा मानना है कि PUT 'http: // वेबसाइट/jasperserver/rest/report? RUN_OUTPUT_FORMAT = PDF' के विरुद्ध होना चाहिए संस्करण संस्करण के रूप में कम से कम 4.5 – KCD