Skip to Content
0
Former Member
May 23, 2014 at 02:31 PM

ReportSDKPrinterException: Printer name could not be set

136 Views

I am working on testing a web application with BOE XI V 3.1. I have the database and RAS machines setup. I have been working on changing my app to printing through the RAS. I have print preview and export working, but am running into issues printing to a printer.

On the RAS which is on a virtual machine, I have a printer setup as a local printer to a tcpip port so the VM can access a printer on our network. But when I call the clientDoc.getPrintOutputController().printReport(printOptions); I get the error message ReportSDKPrinterException: Printer name could not be set.

I have also on the side been testing using a small jsp modified from a working print preview.

Here is the jsp:

<%@ page contentType="text/html; charset=utf-8" %>

<%@

page import="com.crystaldecisions.sdk.occa.report.application.*,

com.crystaldecisions.sdk.occa.report.data.*,

com.crystaldecisions.sdk.occa.report.document.*,

com.crystaldecisions.sdk.occa.report.lib.*,

com.crystaldecisions.report.web.viewer.*"

%>

<html>

<head>

<title>Print Report</title>

</head>

<body>

<%@ include file="AlwaysRequiredSteps_UnmanagedRAS.jsp"%>

<%

// Populate parameters

clientDoc.getDataDefController().getParameterFieldController().setCurrentValue("", "TAB_ID", "Configuration");

clientDoc.getDataDefController().getParameterFieldController().setCurrentValue("", "LOGO_LOCATION", "d:\\reports\\images\\highjump.gif");

PrintReportOptions printOptions = new PrintReportOptions();

printOptions.setPrinterName("Dell");

clientDoc.getPrintOutputController().printReport(printOptions);

clientDoc.close();

%>

</body>

</html>

The code from AlwaysRequiredSteps_UnmanagedRAS.jsp is:

<%

// This file contains the required steps to open an unmanaged report from a file path accessible to the RAS Server.

// Modify this path to the location of the report on your system.

String path = "rassdk://C:\\reports\\ReportList.rpt";

// Create a new Report Application Session.

ReportAppSession ra = new ReportAppSession();

// Create a RAS service.

ra.createService("com.crystaldecisions.sdk.occa.report.application.ReportClientDocument");

// Set the RAS server to be used for the service.

ra.setReportAppServer("10.192.183.196:1566");

// Initialize RAS.

ra.initialize();

// Create the ReportClientDocument object.

ReportClientDocument clientDoc = new ReportClientDocument();

// Set the RAS server to be used.

clientDoc.setReportAppServer(ra.getReportAppServer());

// Open the report, and set the open type to Read Only.

clientDoc.open(path, OpenReportOptions._openAsReadOnly);

%>

The result I get from running this is:

HTTP Status 500 - An exception occurred processing JSP page /PrintReport.jsp at line 28

--------------------------------------------------------------------------------

type Exception report

message An exception occurred processing JSP page /PrintReport.jsp at line 28

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /PrintReport.jsp at line 28

25: PrintReportOptions printOptions = new PrintReportOptions();

26: printOptions.setPrinterName("DELL");

27:

28: clientDoc.getPrintOutputController().printReport(printOptions);

29:

30: clientDoc.close();

31: %>

Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

root cause

javax.servlet.ServletException: com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterException: Printer name could not be set: DELL---- Error code:-2147215357 Error code name:internal

org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)

org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)

org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:133)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

root cause

com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterException: Printer name could not be set: DELL---- Error code:-2147215357 Error code name:internal

com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterException.throwReportSDKPrinterException(Unknown Source)

com.crystaldecisions.sdk.occa.report.application.PrintOutputController.printReport(Unknown Source)

org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:120)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

root cause

com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterNotFoundException: Printer name could not be set: DELL---- Error code:-2147215365 Error code name:printerNotFoundError

com.businessobjects.crystalreports.printer.bean.a.try(Unknown Source)

com.businessobjects.crystalreports.printer.bean.ReportPrinter.setPrinterName(Unknown Source)

com.businessobjects.crystalreports.printer.bean.ReportPrinter.print(Unknown Source)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:597)

com.crystaldecisions.sdk.occa.report.application.PrintOutputController.printReport(Unknown Source)

org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:120)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

root cause

java.awt.print.PrinterException: No printer named "DELL" could be found.

com.businessobjects.crystalreports.viewer.core.f$a.a(Unknown Source)

com.businessobjects.crystalreports.viewer.core.f.a(Unknown Source)

com.businessobjects.crystalreports.printer.bean.a.try(Unknown Source)

com.businessobjects.crystalreports.printer.bean.ReportPrinter.setPrinterName(Unknown Source)

com.businessobjects.crystalreports.printer.bean.ReportPrinter.print(Unknown Source)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:597)

com.crystaldecisions.sdk.occa.report.application.PrintOutputController.printReport(Unknown Source)

org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:120)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.53 logs.

--------------------------------------------------------------------------------

Apache Tomcat/7.0.53

I would really appreciate any help in figuring out how to print to the RAS.

Thanks in advance.