CQ5.3: Die verschobene Workflow-Nutzlast beschädigt den Workflow-Posteingang

Problem

Wenn die Nutzlast eines aktiven Workflows verschoben oder gelöscht wird, wird der Workflow-Posteingang immer als leer angezeigt, selbst wenn es ausstehende Arbeitselemente gibt. In diesem Fall wird in error.log ein Fehler wie der untenstehende angezeigt.

*ERROR* [164.39.7.84 [1277376827098] GET
/libs/cq/workflow/content/console/inbox.json HTTP/1.1]
org.apache.sling.engine.impl.SlingMainServlet service: Uncaught SlingException
java.lang.NullPointerException
at com.day.cq.collab.commons.impl.CommentJcrPathBuilder.buildPath(CommentJcrPathBuilder.java:47)
at com.day.cq.workflow.ui.impl.JcrPathBuilderManagerImpl.getPath(JcrPathBuilderManagerImpl.java:47)
at org.apache.jsp.libs.cq.workflow.components.console.inbox.json_jsp._jspService(json_jsp.java:192)
at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Lösung

Dieses Problem tritt nur bei CQ5.3 auf.

Um dieses Problem zu beheben, installieren Sie das angehängte Paket bzw. die Überlagerung /libs/cq/workflow/components/console/inbox/json.jsp wie folgt:

...
for (int i=0; i<items.length; i++) {
WorkItem wi = items[i];
// add the following check
if(wi.getWorkflowData().getPayloadType().equals("JCR_PATH")) {
try {
if (!session.itemExists((String)wi.getWorkflowData().getPayload())) {
continue;
}
} catch (RepositoryException ace) {
continue;
}
}

// end
if (!isAllowedToReadPayload(wi, session)) {
continue;
}
...

Dadurch wird sichergestellt, dass alle folgenden Arbeitsaufgaben angezeigt werden (mit Ausnahme der fehlerhaften).

Gilt für

CQ 5.3

Herunterladen

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online