Sorry to take a whole day to post my jsp... Here it is. It breaks on the import statment in Tomcat 5.0.24 and Fedora but runs fine in Tomcat 4 and Red Hat. Same exact setup.
<%@ include file="security.jsp" %> <%@ page language="java" import= "java.net.*, java.util.*, java.sql.*, java.io.*, java.text.DateFormat, javax.servlet.*, javax.servlet.http.*, com.crystaldecisions.sdk.occa.report.*, com.crystaldecisions.sdk.occa.report.data.*, com.crystaldecisions.sdk.occa.report.application.ReportAppSession, com.crystaldecisions.sdk.occa.report.application.ReportClientDocument, com.crystaldecisions.sdk.occa.report.application.OpenReportOptions, com.crystaldecisions.sdk.occa.report.exportoptions.ReportExportFormat, com.crystaldecisions.report.web.viewer.*" %> <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /> <% // Initialization mySmartUpload.initialize(pageContext); // Upload the data mySmartUpload.upload(); StringBuffer listing = new StringBuffer(); String message = new String(); boolean success = true; String fpContainerID = Data.TRIM_STRING(mySmartUpload.getRequest().getParameter("fpContainerID")); String fpAssetID = Data.TRIM_STRING(mySmartUpload.getRequest().getParameter("fpAssetID")); String RASHostName = getServletContext().getInitParameter("rasip"); // Establish connection to RAS server ReportAppSession ras = new ReportAppSession(); try { ras.setReportAppServer(RASHostName); ras.initialize(); ras.createService("com.crystaldecisions.sdk.occa.report.application.ReportClientDocument"); } catch (Exception e) { message = "Failed to open RAS Server. " + Data.makeJSAlert(e.toString()); success = false; } // find fund name String fundName = new String(); Container fundContainer = null; if ( success && fpContainerID!=null) { fundContainer = new Container(Long.parseLong(fpContainerID)); Container parentContainer = fundContainer.getParentContainer(); while (parentContainer.getName().compareTo("PGSExtranet")!=0) { fundContainer = new Container(parentContainer.getContainerID()); parentContainer = fundContainer.getParentContainer(); } fundName = fundContainer.getName(); fundContainer = new Container(Long.parseLong(fpContainerID)); } else { message += "No container ID to open."; success = false; } if (success && fundContainer.isUserAllowedAccess(theUser, Action.UPDATE)) { if (fpAssetID!=null) { FileAsset faName = new FileAsset(Long.parseLong(fpAssetID)); String reportName = new String(faName.getDescription()); // Only process reports with a CR name if (!reportName.equals("")) { /* * * process crystal report * */ // get report params String storedProcName = new String(faName.getMeta()); Calendar rptMonth = faName.getCopyrightEnd(); String pdfName = new String(faName.getCredits()); try { // Open the report ReportClientDocument rptDoc = new ReportClientDocument(); rptDoc.setReportAppServer(ras.getReportAppServer()); rptDoc.open(reportName, OpenReportOptions._openAsReadOnly); String uid = getServletContext().getInitParameter("webuid"); String pwd = getServletContext().getInitParameter("webpwd"); rptDoc.getDatabaseController().logon(uid, pwd); ParameterFieldDiscreteValue val; // discrete parameter value ParameterField field_old; // original parameter ParameterField field_new; // new parameter Fields param_collection; // parameter collection // create a discrete parameter value val = new ParameterFieldDiscreteValue(); // set fund name value val.setValue(fundName); // get parameter collection param_collection = rptDoc.getDataDefinition().getParameterFields(); // get fund name parameter field_old = (ParameterField)param_collection.getField(0); // clone a parameter field field_new = (ParameterField)field_old.clone(true); // add a current value field_new.getCurrentValues().add(val); // replace old parameter with new one rptDoc.getDataDefController().getParameterFieldController().modify(field_old, field_new); // create another discrete parameter value val = new ParameterFieldDiscreteValue(); // set report end date value if (rptMonth == null) { val.setValue(null); } else { val.setValue(rptMonth.getTime()); } // get report end date parameter field_old = (ParameterField)param_collection.getField(1); // clone a parameter field field_new = (ParameterField)field_old.clone(true); // add a current value field_new.getCurrentValues().add(val); // replace old parameter with new one rptDoc.getDataDefController().getParameterFieldController().modify(field_old, field_new); // save the exported pdf file to the file asset faName.setFileName(pdfName); faName.setContentType("application/pdf"); InputStream istr = rptDoc.getPrintOutputController().export(ReportExportFormat.PDF); faName.setLength(istr.available()); faName.setData(istr); success = faName.update(theUser); if (!success) { message += "Failed to update file asset. " + Data.makeJSAlert(faName.getExceptionString()); } } catch (Exception e) { message += "Failed on opening and creating report. " + Data.makeJSAlert(e.toString()); success = false; } } // end if report name } else { // end CR creation message += "No asset ID to run."; success = false; } } else { message += "User does not have update access."; success = false; } ras = null; if (success) { response.sendRedirect("containerAssetDualList.jsp?fpContainerID=" + fpContainerID); return; } %> <html> <head> <title>CTCMS - Run Report</title> <link href="css/sitestyle.css" rel="stylesheet" type="text/css"> </head> <body> <p class="header2">Run Report</p> <p> <% if (listing.length() > 0 ) { %> <FORM METHOD="post" NAME="frmAction"> <INPUT TYPE="hidden" NAME="fpContainerID" VALUE="<%=request.getParameter("fpContainerID")%>"> <INPUT TYPE="hidden" NAME="fpAssetID" VALUE="<%=request.getParameter("fpAssetID")%>"> <INPUT TYPE="hidden" NAME="fpReturnTo" VALUE="fileEdit.jsp"> <table> <tr> <td colspan="1"> </td> </tr> <%=listing.toString()%> <tr> <td colspan="1"> </td> </tr> </TABLE> </FORM> <% } else { %> <p class="errorlabel">Error: <%=message%></p> <% } %> </p> </body> </html> -----Original Message----- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 02, 2004 12:58 PM To: Tomcat Users List Subject: RE: Tomcat 5.0.24 can't see third party packages?! Hi, Can you post your JSP? Yoav Shapira Millennium Research Informatics >-----Original Message----- >From: Nadia Kunkov [mailto:[EMAIL PROTECTED] >Sent: Wednesday, June 02, 2004 12:02 PM >To: Tomcat help (E-mail) >Subject: Tomcat 5.0.24 can't see third party packages?! > >I have posted this before and got some pointers but still it didn't help. >I narrowed the problem down and it is reflected in the new subject. >I run Tomcat5.0.24 on Fedora Core 1. I have a jsp site that works without >a problem on a Red Hat 9 box with Tomcat 4, but when I ran it on Fedora and >Tomcat 5.0.24 I get the following error: > >org.apache.jasper.JasperException: Unable to compile class for JSP > >An error occurred at line: -1 in the jsp file: null > >Generated servlet error: > [javac] Compiling 1 source file > >/var/tomcat5/work/Catalina/localhost/WebTest/org/apache/jsp/someJsp_jsp .jav >a:15: package com.crystaldecisions.sdk.occa.report does not exist >import com.crystaldecisions.sdk.occa.report.*; >^ >1 error > >I have about 5 jar files containing com.crystaldecisions.sdk.occa.report.* >in /var/tomcat5/webapps/WebTest/WEB-INF/lib >I have all other jsp working all of them reference packages that are >defined locally. >com.crystaldecisions.sdk.occa.report.* is a third party package and that >is what kills my app. I have seen a posting with the same exact question >but there were no responses. > >I would appreciate any help. >Thanks in advance >N.K. > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]