Raporun parametrelerini aşağıdakine benzer bir kod ile çektiğinizde
rapor
protected void btn_getParams_Click(object sender, EventArgs e)
{
myService = new ReportWebService.ReportingWebServiceStub.ReportingWebServicePortTypeClient("ReportingWebServiceHttpSoap11Endpoint");
MyEndpointBehavior behavior = new MyEndpointBehavior();
myService.Endpoint.Behaviors.Add(behavior);
RWSBasicParams basicParams = new RWSBasicParams();
basicParams.firmSpecified = true;
basicParams.firm = 1;
basicParams.periodSpecified = true;
basicParams.period = 1;
basicParams.language = "TRTR";
RWSReportIdentifier ri = new RWSReportIdentifier();
ri.reportName = "DEFRMPurchaseDemandSlip";
String myRes = myService.describeReportParameters(ri, basicParams);
TextBox1.Text = myRes;
}
Size aşağıdaki gibi atamamız gereken parametrelerin listesi gelecektir. Ben sarı ile işaretlediğim şekilde ilgili değerleri atadım.
xml
<?xml version="1.0" encoding="UTF-8"?>
<com.lbs.par.gen.unity.de.DemandFormInput description="Talep Formu Parametreleri" >
<SlipRef type="int" description="SlipRef : Fiş Referansı" mandatory="false" >13</SlipRef>
<DemandType type="int" description="DemandType : Talep Türü" mandatory="false" >9</DemandType>
</com.lbs.par.gen.unity.de.DemandFormInput>
Bu değerleri nerden alacağınız konusunda sıkıntı yaşarsanız ise raporun açıldığı bölüme yani aşağıdaki kısıma bakabilirsiniz.
Sonra bu parametreleri kullanarak raporumuzu aşağıdaki gibi alıyoruz.
kaynak kod
protected void btnExecute_click(object sender, EventArgs e)
{
myService = new ReportWebService.ReportingWebServiceStub.ReportingWebServicePortTypeClient("ReportingWebServiceHttpSoap11Endpoint");
MyEndpointBehavior behavior = new MyEndpointBehavior();
myService.Endpoint.Behaviors.Add(behavior);
RWSBasicParams basicParams = new RWSBasicParams();
basicParams.firmSpecified = true;
basicParams.firm = 1;
basicParams.periodSpecified = true;
basicParams.period = 1;
basicParams.language = "TRTR";
RWSParams repParams = new RWSParams();
repParams.reportName = "DEFRMPurchaseDemandSlip";
repParams.outputTypeSpecified = true;
repParams.outputType = 4;// DEVICE_PDF_FILE;
/*outputType parametresi için geçerli değerler şunlardır :
Raporun JRF olarak alınması için : 2;
Raporun HTML olarak alınması için : 3;
Raporun PDF olarak alınması için : 4;
Raporun TXT olarak alınması için : 5;
Raporun XLS olarak alınması için : 6.*/
/*String rptFilterXML = ReportWebService.ProjectUtil.readFile("c:\\sil\\WS\\myRPRFilters.xml");
repParams.filtersValues = rptFilterXML;*/
String rptParamXML = ReportWebService.ProjectUtil.readFile("D:\\WSFILES\\myParameters.xml");
repParams.reportParameters = rptParamXML;
String result = myService.executeReport(repParams, basicParams);
TextBox2.Text = result;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(result);
TextBox1.Text = result;
XmlNode report = xmlDoc.SelectSingleNode("/report");
XmlNode report_id = report.Attributes.GetNamedItem("id");
XmlNode report_url = report.Attributes.GetNamedItem("url");
String report_idval = report_id.Value;
String report_urlval = report_url.Value;
XmlDocument doc = new XmlDocument();
String report_idval2 = "";
while ((report_idval2 != "1") && (report_idval2 != "2"))
{
Thread.Sleep(2000);
String strStatusXML = myService.getStatus(Convert.ToInt64(Convert.ToDecimal(report_idval)), basicParams);
doc.LoadXml(strStatusXML);
XmlNode report2 = doc.SelectSingleNode("/report");
XmlNode report_id2 = report2.Attributes.GetNamedItem("status");
report_idval2 = report_id2.Value;
TextBox1.Text += strStatusXML;
}
TextBox2.Text = report_idval;
TextBox3.Text = report_urlval;
}
Yukarıdaki kod ile textbox a yazdığımız url çıktısı ise aşağıdaki gibi olacaktır.
Copyright © 2018 Logo Yazılım