如何使用 Java API 调用提供 data/arguments 的工作流程

How to invoke a workflow providing data/arguments using Java API

我已遵循此 https://helpx.adobe.com/experience-manager/using/invoking-experience-manager-workflows-using.html 并且可以使用 Java API 调用我的工作流程。我正在尝试调整此示例,以便我可以使用包含要处理的步骤的键值对的 MetaDataMap 启动工作流。日志消息打印键和值集。但是工作流中的步骤没有这些数据。如何在使用 Java API?

启动工作流时将 MetaDataMap 传递给工作流
@Override
public String StartWorkflow(String workflowName, String workflowContent, MetaDataMap metaMap) {

    try
    {
        //Invoke the adaptTo method to create a Session 
        ResourceResolver resourceResolver = writeService.getResolver();
        session = resourceResolver.adaptTo(Session.class);

        //Create a workflow session 
        WorkflowSession wfSession = workflowService.getWorkflowSession(session);

        // Get the workflow model
        WorkflowModel wfModel = wfSession.getModel(workflowName);   

        // Get the workflow data
        // The first param in the newWorkflowData method is the payloadType.  
        // Just a fancy name to let it know what type of workflow it is working with.
        WorkflowData wfData = wfSession.newWorkflowData("JCR_PATH", workflowContent);
        MetaDataMap mdp = wfData.getMetaDataMap();
        for(Entry<String, Object> entry: metaMap.entrySet()){
            log.info("WF Args entry="+ entry.getKey()+" "+entry.getValue());
            mdp.put(entry.getKey(), entry.getValue());
        }
        // Run the Workflow.

        wfSession.startWorkflow(wfModel, wfData, mdp);

        return workflowName +" has been successfully invoked on this content: "+workflowContent ; 
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

    return null;
}

我相信您正在尝试从执行方法的参数中获取数据 - metaDataMap,而是从 WorkItem 对象中获取数据,例如 workItem.getWorkflowData().getMetaDataMap().