2013-03-27 83 views
1

请帮我解决它,我真的不知道!请我如何从jasperserver获得报告?

/* - 要更改此模板,请选择工具|模板 - 然后在编辑器中打开模板。 */ - package pdfprint;

import com.jaspersoft.ireport.jasperserver.JServer; import 
com.jaspersoft.ireport.jasperserver.ws.WSClient; import 
java.util.HashMap; import java.util.*; import 
net.sf.jasperreports.engine.JasperPrint; import 
net.sf.jasperreports.engine.JasperReport; import 
net.sf.jasperreports.engine.export.JRPrintServiceExporter; import 
net.sf.jasperreports.engine.export.JRPrintServiceExporterParameter; 
import net.sf.jasperreports.view.JasperViewer; 



public class Pdfprint { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     // TODO code application logic here 
     try{ 
    JServer server = new JServer(); 
    server.setUrl("http://localhost:8080/jasperserver/services/repository"); 
    server.setUsername("jasperadmin"); 
    server.setPassword("jasperadmin"); 


    ResourceDescriptor rd = new ResourceDescriptor(); 
    rd.setUriString("/solucisv3_testing/jr_testing_print"); 

    WSClient client = new WSClient(server); 
    List list = client.list(rd); 

     Map params = new HashMap(); 
     params.put("Plb_Company", "Company"); 
     params.put("Plb_Address", "Address"); 
     params.put("Plb_Title","Title"); 
     params.put("PCondition","SELECT * FROM v_doc_ticketing WHERE f_doc_no='MYCSB0000096'"); 

    JasperPrint printer = client.runReport(rd, params); 
    JasperViewer.viewReport(printer, false,Locale.GERMAN); 


    JRPrintServiceExporter exporter; 
    exporter = new JRPrintServiceExporter(); 
    //exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp); 
    exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, 
Boolean.FALSE); 
    exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, 
Boolean.TRUE); 
    exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT,"this.print({bUI: 
false,bSilent: true,bShrinkToFit: true});"); 
    exporter.exportReport(); } catch(Exception ex){ } 
    } } 
  • 我有在此行列表列表= client.list(RD)一些误差;

  • 错误代码=发现列表中没有合适的方法(pdfprint.ResourceDescriptor) 方法WSClient.list(字符串)是不适用 方法WSClient(实际参数pdfprint.ResourceDescriptor不能通过方法调用转换被转换成字符串) .list(com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor)不适用 (实际参数pdfprint.ResourceDescriptor不能转换为com.jaspersoft.jasperserver.api.metadata.xml.domain.impl .ResourceDescriptor通过方法调用转换)

  • and JasperPrint printer = client.runReport(rd,params,list);

  • 也具有相同的错误

  • 错误代码=实测runReport(pdfprint.ResourceDescriptor,地图,列表) 方法WSClient.runReport(com.jaspersoft.jasperserver.api.metadata.xml没有合适的方法。 domain.impl.ResourceDescriptor,Map,List)不适用 (实际参数pdfprint.ResourceDescriptor不能通过方法调用转换转换为com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor) 方法WSClient。 runReport(com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor,Map)不适用 (实际和形式参数列表不同l ength)

回答

1

您传递的是pdfprint.ResourceDescriptor而不是com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor

可能在您的IDE中,您意外地在当前包中创建了一个ResourceDescriptor类,而不是导入现有包。如果是这样,只需从包中删除类并添加一个正确的导入语句,确保它位于项目的类路径中。

+0

好吧,我看..但现在我有另一个问题。在完成导入之后,现在我正面临这个问题org.openide.util.NbPreferences getPreferencesProvider 警告:未找到首选项的NetBeans实现,并且我ady包括org.openide.util jar和org.openide.util.loopup jar。我没有想法解决它... – yong 2013-03-28 03:22:56

相关问题