Я пытаюсь написать рабочий процесс process step
для DAM update asset
таким образом, чтобы загруженный актив был отправлен во внешнюю службу, которая изменит актив, а затем измененный актив может быть отправлен на шаг Metadata extraction
. Поэтому я добавил свой шаг процесса в актив обновления DAM следующим образом:
И мой код пока выглядит так:
public void execute(WorkItem item, WorkflowSession wfsession,MetaDataMap args) throws WorkflowException {
try
{
log.info("Here2 in execute method"); //ensure that the execute method is invoked
final Map<String, Object> map = new HashMap<String, Object>();
map.put( "user.jcr.session", wfsession.getSession());
ResourceResolver rr = resolverFactory.getResourceResolver(map);
String path = item.getWorkflowData().getPayload().toString();
log.info("Here2 path: " + path);
Resource resource = rr.getResource(path);
log.info("Here2 resource: " + resource);
InputStream is = resource.adaptTo(InputStream.class);
log.info("Here2 assets IS: " + is);
}
catch (Exception e)
{
log.info("Here Error");
e.printStackTrace();
}
}
Вот что я вижу в логах, когда загружаю ресурс:
Здесь2 в методе выполнения Здесь2 путь: /content/dam/photo1.JPG/jcr:content/renditions/original Здесь2 ресурс: null
Вопрос
- У моей внешней службы есть API, принимающий запросы по HTTP. Как я должен отправить актив внешней службе?
- Как только внешняя служба изменит ресурс, что мне следует сделать, чтобы на этапе извлечения метаданных считывался измененный ресурс вместо исходного?