Description | Validates a workflow model's structural integrity and compliance with business rules (e.g. missing participants, invalid loops, missing type declarations), to prevent process deadlocks or incorrect data handling once the model is started as a process. The complete XML of the workflow model to validate is sent as the raw request body (Content-Type: application/xml). On success, a JSON object with two optional sections is returned — errors and warnings — each present only when the corresponding category of problem was actually found in the model. If both sections are absent, the model is valid. Presence of only the warnings section means the model can still be used, but with limitations. Presence of the errors section means the model is not permissible and cannot be used until the listed problems are fixed. Structure of "errors" schemaValidationError (STRING): schema validation error message. missingTypeDeclRecordMembers (ARRAY of {id, name}): type declarations that contain a record without a member. missingVariableRecordMembers (ARRAY of {id, name}): variables that contain a record without a member. missingTypeDeclarations (ARRAY of {id, referencingDataFields[{id,name}], referencingTypeDeclarations[{id,name}]}): used but undefined type declarations. missingActivityParticipants (ARRAY of {id, referencingActivities[{id,name}]}): activity participants who are not workflow participants. noParticipantsInStartActivity ({}): present if no participants have been assigned to the start activity. missingToolIds (ARRAY of {activityId, activityName}): activities missing a Tool ID. missingApplicationMasks (ARRAY of {applicationId, applicationName, maskId}): applications referencing a non-existent mask. missingApplicationMaskIds (ARRAY of {activityId, activityName, applicationId, applicationName}): activity/application assignments with no mask assigned. missingActivityApplications (ARRAY of {activityId, activityName, applicationId}): activities referencing a non-existent application. invalidApplicationMaskFieldIds (ARRAY of {maskFieldId, applicationId, applicationName}): invalid references to mask fields. missingActivityVariables (ARRAY of {id, referencingActivities[{id,name}]}): activity variables not existing as a workflow variable. invalidParameterListCounts (ARRAY of {activityId, activityName, applicationId, applicationName}): activity/application combos with a disproportionate number of parameters. paramWithoutVariableActivities (ARRAY of {activityId, activityName, applicationId, applicationName}): activities with application parameters missing a variable assignment. missingTakeOverActivities (ARRAY of {id, referencingActivities[{id,name}]}): take-over source activities that don't exist in the workflow. missingTakeOverVariables (ARRAY of {id, referencingActivities[{id,name}]}): take-over variables that don't exist in the workflow. missingFromActivities (ARRAY of {fromActivityId, transitionId}): transitions whose "from" activity isn't part of the workflow. missingToActivities (ARRAY of {toActivityId, transitionId}): transitions whose "to" activity isn't part of the workflow. redundantTransitions (ARRAY of {fromActivityId, fromActivityName, toActivityId, toActivityName, transitionId}): transitions duplicated under another ID. invalidFromLoopTransitions (ARRAY of {fromActivityId, fromActivityName, transitionId}): "FROM LOOP" transitions whose from-activity isn't a loop activity. invalidToLoopTransitions (ARRAY of {toActivityId, toActivityName, transitionId}): "TO LOOP" transitions whose to-activity isn't a loop activity. invalidFromOrToLoops (ARRAY of {loopActivityId, loopActivityName}): loop activities with invalid FROM/TO LOOP combination. cycleActivities (ARRAY of {id, name}): activities where a forbidden cycle occurs in the graph. invalidLoopTransitions (ARRAY of {fromActivityId, fromActivityName, toActivityId, toActivityName, transitionId}): transitions crossing from one loop into another. invalidToLoopNumActivities (ARRAY of {id, name}): loop activities without exactly one "TO LOOP" transition. invalidFromLoopNumActivities (ARRAY of {id, name}): loop activities without exactly one "FROM LOOP" transition. missingLoopConditionActivities (ARRAY of {id, name}): loop activities with no condition defined. noTerminationActivities (ARRAY of {id, name}): activities from which the termination activity can't be reached. noLoopTerminationActivities (ARRAY of {id, name}): activities in a loop with no path back to the loop via a TO LOOP transition. missingDefActIds (ARRAY of {id, name}): activities without a default activity assigned for variable application. allClientTypesActivities (ARRAY of {activityId, activityName, applicationId, applicationName}): ambiguous client/application assignment (applies to all clients). ambiguousActAppClientTypes (ARRAY of {activityId, activityName, clientTypeId, clientTypeName}): ambiguous client/application assignment. actAppInvalidClientTypes (ARRAY of {activityId, activityName, applicationId, applicationName}): application assignment for an invalid client. actEvtAllClientTypes (ARRAY of {activityId, activityName, eventTypeId, eventTypeName}): ambiguous client/event assignment (applies to all clients). ambiguousActEvtClientTypes (ARRAY of {activityId, activityName, eventTypeId, eventTypeName, clientTypeId, clientTypeName}): ambiguous client/event assignment. ambiguousGlobalEvtClientTypes (ARRAY of {clientTypeId, clientTypeName}): ambiguous global client-event assignment. noProcessStartClientType ({}): present if no client type is assigned to the process start. invalidModParamVarIds (ARRAY of {varId}): invalid variable references in a module's parameter list. adhocActWithoutDefaultSubActs (ARRAY of {id, name}): ad hoc activities with no default activity assigned. adhocActWithUnknownDefaultSubActs (ARRAY of {id, name}): ad hoc activities whose default activity doesn't exist. adhocActDefaultActIsNotAdhocSubActs (ARRAY of {id, name}): ad hoc activities whose default activity isn't a valid routing-list activity. adhocActDefaultActIsNotWorkitems (ARRAY of {id, name}): ad hoc activities whose default activity isn't a process step.
Structure of "warnings" missingWFParticipants (ARRAY of {id, name, isResponsible, isFileResponsible, referencingActivities[{id,name}]}): workflow participants that don't exist in the organization. wfParticipantsWithoutASUser (ARRAY of {id, name}): users with no, or a non-existent, AS user assigned. invalidResponsibleIds (ARRAY of {id}): process owners not in the list of participants. unconnectedActivities (ARRAY of {id, name}): activities unreachable from the start activity. invalidDefActIds (ARRAY of {id, name, validDefaultActivities[{id,name}]}): activities with an invalid default activity assigned for variable application. noOutVarsInLoopActConditions (ARRAY of {id, name}): loop activities with no variable application for the loop condition. noOutVarsInLoopActs (ARRAY of {id, name}): loop activities with no output variables defined. unknownActAppClientTypes (ARRAY of {activityId, activityName, clientTypeId}): application assignment for an unknown client. unknownActEvtClientTypes (ARRAY of {activityId, activityName, eventTypeId, eventTypeName, clientTypeId}): event assignment for an unknown client. unknownGlobalEvtClientTypes (ARRAY of {clientTypeId}): unknown client types on a global client event. appToolsWithoutClientType (ARRAY of {activityId, activityName, applicationId, applicationName}): application assignment with no client specification. noOrInvalidFileResponsibleId ({}): present if no, or an invalid, file-responsible participant is assigned. masksWithoutFields (ARRAY of {maskId, maskName}): masks with no mask fields.
|
|---|