// change to put @PUT @Produces(JSON_UTF8) @Path("cancelFundAllocation") public String cancelFundAllocation( @QueryParam("processID") String processID, @QueryParam("userID") String userID, @QueryParam("access_token") String access_token) { checkToken(access_token); login(User.findByUsername(userID)); try { WorkflowSystem ws = WorkflowSystem.getInstance(); Set<WorkflowProcess> processes = ws.getProcessesSet(); for (WorkflowProcess workflowProcess : processes) { if (workflowProcess.getProcessNumber() != null) { if (workflowProcess.getProcessNumber().equals(processID)) { WorkflowActivity<WorkflowProcess, ActivityInformation<WorkflowProcess>> cancelAcquisitionRequest = workflowProcess.getActivity( DeleteAfterTheFactAcquisitionProcess.class.getSimpleName()); if (cancelAcquisitionRequest == null) { // is not after the fact cancelAcquisitionRequest = workflowProcess.getActivity(CancelAcquisitionRequest.class.getSimpleName()); } try { cancelAcquisitionRequest.execute( new ActivityInformation<WorkflowProcess>( workflowProcess, cancelAcquisitionRequest)); } catch (Exception e) { throw newApplicationError(Status.NOT_ACCEPTABLE, "cancelation_not_acceptable"); } JsonObject obj = new JsonObject(); obj.addProperty("status", Status.OK.toString()); return gson.toJson(obj); } } } // No process was found throw newApplicationError(Status.NOT_FOUND, "resource_not_found"); } finally { logout(); } }