Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8258028

PrintServiceLookup does not work on CUPS printer configured as https

    XMLWordPrintable

Details

    • 2d
    • x86_64
    • linux_redhat_6.0

    Description

      ADDITIONAL SYSTEM INFORMATION :
      Linux/RHEL

      A DESCRIPTION OF THE PROBLEM :
      When Printer in CUPS server is configure connection as https.

      PrintServiceLookup does able to list all available printers configured on CUPS server.
      Only the default printer is able to find.

      On Java 7, this works with out issue.
      See below results:
      java -jar printservicetest.jar
      OS: Linux version: 2.6.32-754.35.1.el6.x86_64
      java.version: 1.7.0_271
      Default PrintService: Unix Printer : PPU8010076-1
      Number of Print Services 9
      -----
      printer name 1: P-1
      printer name 2: P-2
      printer name 3: P-3
      printer name 4: P-4
      printer name 5: P-5
      printer name 6: P-6
      printer name 7: P-7
      printer name 8: P-8
      printer name 9: P-9





      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Setup CUPS server
      2. Add printer - select IPP (https)
      3. execute "lpc status" to show printer device is on 'https'
      4. run printservicetest.jar

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      java -jar printservicetest.jar
      OS: Linux version: 2.6.32-754.35.1.el6.x86_64
      java.version: 1.7.0_271
      Default PrintService: Unix Printer : P-1
      Number of Print Services 9
      -----
      printer name 1: P-1
      printer name 2: P-2
      printer name 3: P-3
      printer name 4: P-4
      printer name 5: P-5
      printer name 6: P-6
      printer name 7: P-7
      printer name 8: P-8
      printer name 9: P-9

      ACTUAL -
      java -jar printservicetest.jar
      OS: Linux version: 2.6.32-754.35.1.el6.x86_64
      java.version: 1.8.0_271
      Default PrintService: IPP Printer : P-1
      Number of Print Services 1
      -----
      printer name 1: P-1


      ---------- BEGIN SOURCE ----------
      package test;

      import javax.print.*;

      public class PrintServiceLookupTest {
      public static void main(String[] args) {
      PrintService defServ = PrintServiceLookup.lookupDefaultPrintService();
      System.out.println("OS: " + System.getProperty("os.name") + " version: " + System.getProperty("os.version"));
      System.out.println("java.version: " + System.getProperty("java.version"));
      System.out.println("Default PrintService: " + defServ);

      PrintService[] serv = PrintServiceLookup.lookupPrintServices(null, null);
      if (serv.length == 0) {
      System.out.println("No PrintService found");
      } else {
      System.out.println("Number of Print Services " + serv.length);
      }

      System.out.println("-----");
      for (int i = 0; i < serv.length; i++) {
      System.out.println("printer name " + (i + 1) + ": " + serv[i].getName());
      }
      }
      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      No workaround.

      FREQUENCY : always

      Attachments

        Activity

          People

            kabhishek Kumar Abhishek (Inactive)
            tongwan Andrew Wang
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: