Obtenir un rapport de jasperserver en utilisant le service web REST et asp.net C #

Vous pouvez utiliser le jasperservers webservices (SOAP et REST est disponible) pour obtenir la gale et exécuter des rapports à partir d'une application web. Le SOAP wsdl n'est pas compatible avec asp.net c# (au moins, je ne peux pas le faire fonctionner), j'ai donc décidé d'utiliser le RESTE webservice.

Je suis PRESQUE là, mais je ne peux pas récupérer le rapport lui-même. personne ne sait ce qui va mal?
Je suis à l'aide de jasperserver CE 4.5 sur Linux.

//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????

L'erreur semble signifier que l'uuid n'est pas dans la session en cours. Quelqu'un at-il ce travail? Merci!

source d'informationauteur torinfo