JAva y Crystal (urgente)

amigo
22 de Julio del 2005
Hola

tengo una aplicacion JAva que necesita visualizar informes en Crystal. Tengo en Crystal 10 y el codigo es este:

<%@ page import= "com.crystaldecisions.report.web.viewer.*,
com.crystaldecisions.sdk.occa.report.data.*" %>
<%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.lib.ReportSDKException"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSource"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2"%>

<%
String report = "/Iago.rpt";
IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
IReportSource reportSource = (IReportSource) rptSrcFactory.createReportSource(report,request.getLocale());

CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setReportSource(reportSource);
viewer.refresh();
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
viewer.dispose();
%>


hago lo que haga lo configure como lo configure siempre me da el mismo error:

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: No se especificó la ubicación del informe en el archivo de configuración---- Error code:-2147215356 Error code name:fileNotOpened
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
at com.crystaldecisions.reports.reportengineinterface.JPEReportSource.<init>(Unknown Source)
at com.crystaldecisions.reports.reportengineinterface.JPEReportSource.a(Unknown Source)
at com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory.createReportSource(Unknown Source)
at es.sergas.ofpro.servlets.InformesOfproServlet.doPost(InformesOfproServlet.java:257)
at es.sergas.ofpro.servlets.InformesOfproServlet.doGet(InformesOfproServlet.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
getLocalizedMessage: No se especificó la ubicación del informe en el archivo de configuración




El Crystal-config.xml (situado en WEB-INF/) es:

<crystal-configuration>
<shared-location>
<crystal-jar-location>C:eclipse3.01workspacePROJECTWEB-INFlib</crystal-jar-location>
</shared-location>
<build-language>
es
</build-language>
<build-number>
10
</build-number>
</crystal-configuration>


El CrystalReportEngine-config.xml (en WEB-INF/classes) es:
<CrystalReportEngine-configuration>
<reportlocation>C:/eclipse3.01/workspace/PROJECT/WEB-INF/reports</reportlocation>
<timeout>10</timeout>
<keycode>AV860-01CS00G-U7000NC</keycode>
</CrystalReportEngine-configuration>


Y los informes en WEB-INF/reports


Alguien me puede ayudar???Estoy desesperado, lo he probado todo, situado todo en todos los sitios pero siempre me da el mismo error. Me falta algo en la configuracion de Crystal?

Gracias

Jos?ilario
22 de Julio del 2005
Hola...yo también uso los Java Reporting Components de la versión 10. Lo que hice para evitar que el error que tienes es descaragar una actualización de los jar de la página
http://support.businessobjects.com/library/kbase/articles/c2016612.asp
Ahi hay un zip con 24 archivos jar (JRCpatch), los sobreescribes en tu directorio lib y reinicias tu aplicación. Puede ser que se te muestre otro error que indica que no se encuentra el nombre del archivo rpt. Esto puede ser porque la ruta al directorio del reporte contiene espacios. El report location yo lo tengo como una ruta relativa, por ejemplo .../..., y el archivo de configuración en WEB-INF/classes, de esta manera tu rpt debería estar en la raíz de tu aplicación.