Adobe Experience Manager: In AEM 6.5 LTS SP2, the PROCESS value of a Workflow Process Step is saved with single quotes, causing Process implementation not found at runtime

Description description

In AEM 6.5 LTS SP2 environment, when a Process Step in a Workflow Model is configured and saved, the process class name stored in metaData/PROCESS may be converted to a string with single quotes.

As a result, during workflow execution, AEM cannot resolve it to the original Java class name and fails with an error such as the following:

01.01.2026 00:00:00.000 *ERROR* [ JobHandler: /var/workflow/instances/server0/2026-01-01/sample_workflow_1:/content/sample/path]  com.adobe.granite.workflow.core.job.JobHandler Error executing workflow step
com.adobe.granite.workflow.WorkflowException: Process implementation not found: 'com.day.cq.dam.core.process.GateKeeperProcess'at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:207) [ com.adobe.granite.workflow.core:2.0.240.CQ680-B0017] at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:271) [ com.adobe.granite.workflow.core:2.0.240.CQ680-B0017] at org.apache.sling.event.impl.jobs.JobConsumerManager$JobConsumerWrapper.process(JobConsumerManager.java:502) [ org.apache.sling.event:4.2.24] at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.startJob(JobQueueImpl.java:351) [ org.apache.sling.event:4.2.24] at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.access$100(JobQueueImpl.java:60) [ org.apache.sling.event:4.2.24] at org.apache.sling.event.impl.jobs.queues.JobQueueImpl$1.run(JobQueueImpl.java:287) [ org.apache.sling.event:4.2.24] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at java.base/java.lang.Thread.run(Thread.java:834)

Environments

AEM 6.5 LTS SP2
AEM 6.5.23.0 (after applying cq-6.5.0-hotfix-GRANITE-61551-SP23-1.4.zip)
AEM 6.5.24.0
AEM 6.5.25.0

Resolution resolution

The Workflow Process class name may be saved with single quotes. This behavior occurs as part of a security check.
In this case, add the target Workflow Process class name to the allowlist in the OSGi Expression Security Configuration.

Steps

Step1. Open http://< host> :< port> /system/console/configMgr

Step2. Open Expression Security Configuration

Step3. Add the target Workflow Process class name to the allowlist

Use Allowed Keywords for a single class
    Use Allowed Patterns for multiple classes

Step4. In the target Workflow Model, choose the target Workflow Process class again at the target Process Step, and save it

Step5. Sync the Workflow Model

Example: Allowed Keywords

com.day.cq.dam.core.process.GateKeeperProcess

Example: Allowed Patterns

ˆcom\.day\.cq\.dam\.core\.process\..*$
recommendation-more-help
experience-cloud-kcs-help-kbarticles