Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
BIRT Actuate IDAPI from .net
Kar
Hi,<br />
I am trying to use IDAPI from our asp.net application to generate PDF from iserver. I am able to generate the rptDocument with IDAPI, but cannot stream the PDF bytes through "SelectJavaReportPage". I always get 0 bytes. I have attached the code below. Please help me in this.<br />
<br />
ExecuteReport l_req = new ExecuteReport();<br />
l_req.JobName = "ExecuteReport example";<br />
l_req.Item = "/Public/ReportFrameworkTest/ClientNetworthReport.rptdesign";<br />
l_req.ItemElementName = ItemChoiceType42.InputFileName;<br />
<br />
l_req.OutputFormat = "PDF";<br />
l_req.RequestedOutputFile = new NewFile();<br />
l_req.RequestedOutputFile.Name = "/Public/ReportFrameworkTest/ClientNetworthReport.rptdocument";<br />
l_req.SaveOutputFile = true;<br />
l_req.SaveOutputFileSpecified = true;<br />
GetReportParameters l_parameter = new GetReportParameters();<br />
l_parameter.Item = "/Public/ReportFrameworkTest/ClientNetworthReport.rptdesign";<br />
l_parameter.ItemElementName = ItemChoiceType39.ReportFileName;<br />
<br />
GetReportParametersResponse l_parameterRes;<br />
try<br />
{<br />
l_parameterRes = proxy.getReportParameters(l_parameter);<br />
}<br />
catch (Exception e)<br />
{<br />
<br />
return;<br />
}<br />
<br />
if (l_parameterRes.ParameterList != null && l_parameterRes.ParameterList.Length > 0)<br />
{<br />
ParameterValue[] l_parameterValues = new ParameterValue[l_parameterRes.ParameterList.Length];<br />
for (int i = 0; i < l_parameterRes.ParameterList.Length; i++)<br />
{<br />
l_parameterValues
= new ParameterValue();<br />
// setting all the parameters.<br />
}<br />
ParameterValueArray valArray = new ParameterValueArray();<br />
valArray.ParameterValue = l_parameterValues;<br />
l_req.Item1 = valArray;<br />
l_req.Item1ElementName = ReportingDataService.actuateIDAPIReference.Item1ChoiceType19.ParameterValues;<br />
}<br />
<br />
try<br />
{<br />
proxy.HeaderValue.TargetVolume = "r-ranganathank3";<br />
l_res = proxy.executeReport(l_req);<br />
<br />
if (l_res.Status == ExecuteReportStatus.Failed)<br />
{<br />
Console.WriteLine("Report execution failed. Error description: " +<br />
l_res.ErrorDescription);<br />
}<br />
else<br />
{<br />
string result = l_res.ObjectId;<br />
SelectJavaReportPageResponse reportResponse = new SelectJavaReportPageResponse();<br />
SelectJavaReportPage reportRequest = new SelectJavaReportPage();<br />
<br />
reportRequest.OutputFormat = "PDF";<br />
ObjectIdentifier objectID = new ObjectIdentifier();<br />
objectID.Name = l_req.RequestedOutputFile.Name;<br />
objectID.Type = l_res.OutputFileType;<br />
objectID.Id = l_res.ObjectId;<br />
proxy.HeaderValue.FileType = l_res.OutputFileType;<br />
proxy.HeaderValue.ConnectionHandle = l_res.ConnectionHandle;<br />
ViewParameter viewParams = new ViewParameter();<br />
viewParams.Format = "PDF";<br />
<br />
PageIdentifier pageIdentifier = new PageIdentifier();<br />
pageIdentifier.PageNum = 1;<br />
<br />
reportRequest.Item = pageIdentifier;<br />
ComponentType componentType = new ComponentType();<br />
componentType.Id = "0";<br />
<br />
reportRequest.DownloadEmbedded = true;<br />
reportRequest.Object = objectID;<br />
<br />
NameValuePair[] viewProp =<br />
new NameValuePair[1] ;<br />
viewProp[0] = new NameValuePair ();<br />
viewProp[0].Name = "SVGFlag";<br />
viewProp[0].Value = "false";<br />
<br />
reportRequest.ViewProperties = viewProp;<br />
/* reportRequest.ViewParameterValues = viewParams;<br />
reportRequest.Component = componentType;*/<br />
Attachment pdf = new Attachment();<br />
<br />
reportResponse = proxy.selectJavaReportPage(reportRequest);<br />
pdf = reportResponse.PageRef;<br />
byte[] responseData = pdf.ContentData;
Find more posts tagged with
Comments
Kar
Please help...