AnsweredAssumed Answered

[SOLVED] Third-party review doesn't work well

Question asked by showky on Mar 12, 2009
Latest reply on Nov 18, 2009 by khinendra
Hi everybody :)
I am currently ready Alfresco Developer Guide. I'm ready chapter 7, about the advanced workflows. I made a workflow that works well. Here comes the diagram:
When Operation Review and Marketing Review approve a file, an email is sent to a Third Party. The email sent is like that:
You have been assigned to a task named Third Party Review. Take the appropriate action by clicking one of the links below:


Good :) but when I click on a link:
The Web Script /alfresco/service/someco/bpm/review has responded with a status of 500 - Erreur Interne de Servlet.

500 Description: Le serveur a recontrer une erreur interne qui l''a empêché de satisfaire la requête.
Message: Wrapped Exception (with status template): null
Exception: org.alfresco.web.scripts.WebScriptException - Wrapped Exception (with status template): null
Server: Alfresco Labs v3.0.0 (Stable 1526) schema 1 002
Time: 12 mars 2009 16:46:58
Diagnostics: Inspect Web Script (com/someco/bpm/review.get)

Here come my configuration files:

   <shortname>BPM Review</shortname>
   <description>Review and approve a BPM task</description>
   <format default="html">extension</format>


      <p>Signaled ${} for transition ${args.action}</p>

package com.someco.scripts;

import java.util.HashMap;
import java.util.Map;

import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.web.scripts.Status;
import org.alfresco.web.scripts.WebScriptRequest;
import org.apache.log4j.Logger;

public class GetReview extends org.alfresco.web.scripts.DeclarativeWebScript {
   private WorkflowService workflowService;
   private Logger logger;

   protected Map<String, Object> executeImpl(WebScriptRequest req, Status status) {
      final String id = req.getParameter("id");
      final String action = req.getParameter("action");
      if (id == null || action == null) {
         status.setMessage("Required data has not been provided");
      Map<String, Object> model = new HashMap<String, Object>();
      model.put("response", AuthenticationUtil.runAs(new RunAsWork<String>() {
         public String doWork() throws Exception {
            logger.debug("About to signal id:" + id + " with transition:" + action);
            workflowService.signal(id, action);
            logger.debug("Signal sent.");
            return "Success";
      return model;

   public WorkflowService getWorkflowService() {
      return workflowService;

   public void setWorkflowService(WorkflowService workflowService) {
      this.workflowService = workflowService;

I just don't know why this exception is raised, I've spent my day on it :/

Any idea ?

Thanks a lot !