Expand my Community achievements bar.

AEM ICC PrintChannel


Level 3

printChannel = this.printChannelService.getPrintChannel(formName)

The above line with the PDFGenerationofPrintChannel document is throwing an exception from Printchannel ,of
com.adobe.fd.ccm.channels.print.api.exception.PrintChannelException: Missing or Invalid print channel identifier /content/dam/formsanddocuments/testLetterName
when the servlet that it is called from postman.
But the same form(or the same code) works fine if called within the AEM server, through and adaptive form -using a servlet.
The letters have the same tags.

Not sure what this "Missing or Invalid print channel identifier" means. Can someone suggest what this means message is about and how to rectify it.
Thank you for your time.

5 Replies


Level 3

The Servlet that has the code to generate the Interactive communication print channel document. 


The external vendor calls with the required parameter that are needed for the ICC print document generation. This in within the servlet which is called via HTTP Post.


We are passing the tags are passed correctly and the form path is formed correctly. When this form path/Name is passed to the PrintChannel, in the below line


printChannel = this.printChannelService.getPrintChannel(formName)

The formName is given as per the suggested path for getPrintChannel. Tried with both DAM and  CONTENT path. But still throwing the missing identifier error message. 


As per adobe ==> The formName for the getPrintChannel should be of in the following path; 

  1. Path of the Interactive Communication like /content/dam/formsanddocuments/ic_name
  2. Path of the actual print channel in Interactive Communication definition like /content/forms/af/ic_name/channels/print



Employee Advisor


This is Girish, I am available now

we can do a web session to look at your problem


Level 3

Hi, I was able to solve the issue by using formsResourceResolver instead of ResourceResolver. Only thing it only works in the Publish server. I mean when the servlet is called from the Publish server, I can get the PDFBase64 of the PrintChannel Document, but when called via Author, it is not. So not sure if there is any settings I have to adjust.


Thank you.