Webshpere 下 Crystal Report 开发,急盼大侠指点迷津。Error code:-2147467259
若林林 2004-07-16 04:03:25 错误 :
[Servlet Error]-[Report Application Server fail.]:
com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Report Application Server fail.
---- Error code:-2147467259 Error code name:failed
环境如下:
1. WebShpere studio5.1
2. Crystal Report 9.0
3. RAS (RAS SDK and Report Application Server 9.0)
4. RAS hotfix "Ras90win_en.zip"
5. the file in folder "WEB-INF\lib"
CorbaIDL.jar
MetafileRenderer.jar
rasapp.jar
rascore.jar
reportsourcefactory.jar
serialization.jar (开始用一个17K源码中的,后用一个19K的,
可能是Webshpere或RAS SDK的)
webreporting.jar .
xerces.jar
Error information in Websphere studio5.1
---------------------------------------------------------------------------------------------
[04-7-16 9:21:55:468 CST] 3ada91f4 SystemOut O begin open
[04-7-16 9:21:55:562 CST] 3ada91f4 WebGroup E SRVE0026E: [Servlet Error]-[Report Application Server fail.]:
com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Report Application Server fail.
---- Error code:-2147467259 Error code name:failed
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.t.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.if(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ClientDocument.open(Unknown Source)
at org.apache.jsp._ras_5F_1._jspService(_ras_5F_1.java:134)
at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:662)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
JSP as following:
-----------------------------------------------------------------
<%@ page import="com.crystaldecisions.report.web.viewer.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.exportoptions.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.application.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.lib.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
<%@ page import="java.util.ResourceBundle"%>
<%@ page import="java.util.Iterator"%>
<%@ page import="java.io.ByteArrayInputStream,java.io.ByteArrayOutputStream"%>
<%@ page import="java.io.File,java.io.FileOutputStream"%>
<%//@ page import="org.apache.commons.validator.GenericValidator"%>
<%//@ page import="org.apache.log4j.Logger"%>
<HTML>
<HEAD>
<TITLE>ras_1.jsp</TITLE>
</HEAD>
<BODY>
<%
ReportAppSession reportAppSession = new ReportAppSession();
reportAppSession.createService("com.crystaldecisions.sdk.occa.report.application.ReportClientDocument");
// app004_2k is devloper PC. installed Webshpere studio and RAS.
reportAppSession.setReportAppServer("apj004_2k");
reportAppSession.initialize();
ReportClientDocument reportClientDoc = new ReportClientDocument();
reportClientDoc.setReportAppServer(reportAppSession.getReportAppServer());
System.out.println("begin open");
// wrong be happen
reportClientDoc.open("C:/reports/report3.rpt",0);
System.out.println("open over");
//connection
ConnectionInfos connInfos = new ConnectionInfos();
IConnectionInfo connInfo1 = new ConnectionInfo();
reportClientDoc.getDatabaseController().logon("pcis","pcis");
ByteArrayInputStream byteIS = (ByteArrayInputStream)
reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);
byte byteArray[] = new byte[byteIS.available()];
File file = new File("C:\\Tomcat 4.0\\webapps\\xtreme\\Test1.pdf");
FileOutputStream fos = new FileOutputStream(file);
ByteArrayOutputStream byteOS = new ByteArrayOutputStream(byteIS.available());
int x = byteIS.read(byteArray,0,byteIS.available());
byteOS.write(byteArray,0,x);
byteOS.writeTo(fos);
byteOS.close();
fos.close();
%>
</BODY>
<iframe src="Test1.pdf" width="100%" height="100%" />
</HTML>