Okay, using your example, I think the code is close now. It works on a local instance of Weblogic server, running on a PC hooked up to a Windows network. It brings up a javax.Swing print dialog. However, it fails when deployed to a remote Sun server running Weblogic, with this exception: net.sf.jasperreports.engine.JRException: No suitable print service found. Here is the code: JasperReport jasperReport = buildContent(); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, data, new JREmptyDataSource()); // if local weblogic server, can directly use JasperPrintManager, // but for remote weblogic must use JRPrintServerExporter // JasperPrintManager.printReport(jasperPrint, true); // code from the demo samples long start = System.currentTimeMillis(); PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet(); printRequestAttributeSet.add(MediaSizeName.ISO_A4); String networkName = "\\grogrdprt10\MFD443"; PrinterName printerName = new PrinterName(networkName, null); PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet(); printServiceAttributeSet.add(printerName); JRPrintServiceExporter exporter = new JRPrintServiceExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, printServiceAttributeSet); exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE); exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE); log.debug("Exporting report..."); exporter.exportReport(); log.debug(("Printing time : " + (System.currentTimeMillis() - start))); Is the problem that the Unix system doesn't recognize the Windows network address? Thanks for the help! Bill J.