Class WorkflowService_JAXWS


  • public class WorkflowService_JAXWS
    extends java.lang.Object

    WorkflowService defines the API for the Workflow Management Service in Content Server.

    Workflow services provide a web service interface to the Content Server Workflow Engine. The API is concerned with the monitoring and control of Workflow Processes. At present, it does not provide an interface to design workflows.

    The Workflow service uses terminology defined by the Workflow Management Coalition (WfMC) instead of the Content Server terminology. The table below maps the WfMC terminology to the Content Server terminology. The Workflow service has a strongly typed object (SDO) that represents each one of the WfMC types. In general, the notion of a SubWork has been eliminated from the API. There are only ProcessInstances, which may be nested.

    Content Server Workflow
    Terminology
    Workflow Management Coalition
    Terminology (WfMC)
    Workflow MapProcess Definition
    WorkProcess Instance
    SubWorkProcess Instance
    Task (in a Workflow Map)Activity
    Task (in a running workflow)Activity Instance
    Task (assigned to a user)Work Item
    Work Package
    -Attachment Record
    -Comment Record
    -Attribute Record
    Application Data
    -AttachmentData
    -CommentData
    -AttributeData
    Audit RecordsProcess Event
    Version:
    2013-08-26
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void acceptWorkItem​(long processID, long subProcessID, int activityID)
      Accepts a WorkItem assigned to a group and assigns it to the current user
      void archiveProcess​(long processID)
      Archives a stopped process instance.
      void completeWorkItem​(long processID, long subProcessID, int activityID, java.lang.String disposition)
      Completes a WorkItem, sets the disposition and sends it on to the next activity
      ProcessInstance createProcess​(ProcessDefinition processDef, java.lang.String processName, long[] attachments, long[] memberRoleIDs)
      CreateProcess loads the ProcessDefinition (Workflow Map) identified by the ProcessDefinition object and starts the workflow processes with the specified processName.
      void delegateWorkItem​(long processID, long subProcessID, int activityID, long memberID)
      Delegates a WorkItem to a user or group.
      void deleteProcess​(long processID)
      Delete the workflow process identified by the processID
      ProcessResult getListProcessesResults​(PageHandle pageHandle)
      Search for process instances in the system
      ApplicationData[] getProcessData​(long processID, long subProcessID)
      Gets the application data associated with a process instance
      ProcessDefinition getProcessDefinition​(long objectID)
      Gets a process definition (workflow map).
      ProcessDefinition getProcessDefinitionEx​(long objectID)
      Gets a process definition (workflow map), including activity permissions.
      ProcessStartData getProcessStartData​(long objectID)
      Retrieves the data required for starting a Process for the specified ProcessDefinition using the StartProcess method.
      ProcessInstance getProcessStatus​(long processID, long subProcessID)
      Gets the status of a process instance
      ApplicationData[] getWorkItemData​(long processID, long subProcessID, int activityID)
      Gets the application data associated with a WorkItem
      WorkItemDetails getWorkItemDetails​(long processID, long subProcessID, int activityID)
      Gets the application data and actions associated with a WorkItem
      ProcessDefinition importProcessDefinition​(long parentID, java.lang.String name, java.lang.String comment, boolean attachmentData, boolean resetMembers, Attachment attach)
      Create a new process definition based on an exported process definition file.
      PageHandle listProcesses​(ProcessSearchOptions options)
      Setup a search for process instances in the system
      ProcessEvent[] listProcessHistory​(long processID, long subProcessID, java.lang.Integer activityID)
      Gets the history of a process
      WorkItemResult listWorkItems​(PageHandle pageHandle)
      Lists the WorkItems assigned to the current user
      WorkItemResult listWorkItemsEx​(PageHandle pageHandle)
      Lists the WorkItems assigned to the current user, including the workflow title and WorkItem priority
      void reassignActivity​(long processID, long subProcessID, int activityID, long memberID)
      Reassigns an activity in the process to a different member
      void resumeProcess​(long processID)
      Resumes a suspended process instance.
      void sendWorkItemForGroupReview​(long processID, long subProcessID, int activityID, long groupID, java.lang.String title, java.lang.String instructions, int duration, WorkItemPriority priority, GroupOptions groupOptions)
      Sends a WorkItem to a group for review.
      void sendWorkItemForReview​(long processID, long subProcessID, int activityID, long memberID, java.lang.String title, java.lang.String instructions, int duration)
      Sends a WorkItem to a user or group for review.
      void sendWorkItemForSubmapReview​(long processID, long subProcessID, int activityID, long submapID)
      Sends a WorkItem to a submap for review.
      void sendWorkItemForUserReview​(long processID, long subProcessID, int activityID, long userID, java.lang.String title, java.lang.String instructions, int duration, WorkItemPriority priority)
      Sends a WorkItem to a user for review.
      ProcessInstance startProcess​(ProcessStartData startData, long[] attachments, long[] memberRoleIDs)
      Creates and starts a Process based on the provided data.
      void stopProcess​(long processID)
      Stops the process instance.
      void suspendProcess​(long processID)
      Suspends the process instance.
      void updateProcessData​(long processID, long subProcessID, ApplicationData[] applicationData)
      Updates the application data on a Process
      void updateWorkItemData​(long processID, long subProcessID, int activityID, ApplicationData[] applicationData)
      Updates the application data on a WorkItem
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • WorkflowService_JAXWS

        public WorkflowService_JAXWS()
    • Method Detail

      • acceptWorkItem

        public void acceptWorkItem​(long processID,
                                   long subProcessID,
                                   int activityID)
        Accepts a WorkItem assigned to a group and assigns it to the current user
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
      • archiveProcess

        public void archiveProcess​(long processID)
        Archives a stopped process instance.
        Parameters:
        processID - ID of the process instance
      • completeWorkItem

        public void completeWorkItem​(long processID,
                                     long subProcessID,
                                     int activityID,
                                     java.lang.String disposition)
        Completes a WorkItem, sets the disposition and sends it on to the next activity
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        disposition - One of the valid dispositions for this workflow (e.g. Approve, Reject)
      • createProcess

        public ProcessInstance createProcess​(ProcessDefinition processDef,
                                             java.lang.String processName,
                                             long[] attachments,
                                             long[] memberRoleIDs)
        CreateProcess loads the ProcessDefinition (Workflow Map) identified by the ProcessDefinition object and starts the workflow processes with the specified processName. An optional list of attachment objectIDs (already created in Content Server) can be passed to this method and they will be copied into the workflow process attachment folder.
        Parameters:
        processDef - the ProcessDefinition object
        processName - Name to be assigned to the newly created process instance
        attachments - A list of objectIDs that will be added to the attachments of this process or null if no attachments are to be added.
        memberRoleIDs - A list of memberIDs that will be mapped to any roles defined on this process or null if no roles are defined.
        Returns:
        The Process object representing the current status of the process. Throws fault exception with fault codes: WorkflowService.GetProcessDefinitionFailed, WorkflowService.StartWorkflowFailed.
      • delegateWorkItem

        public void delegateWorkItem​(long processID,
                                     long subProcessID,
                                     int activityID,
                                     long memberID)
        Delegates a WorkItem to a user or group. The WorkItem then becomes a WorkItem for that user or group
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        memberID - ID of the member to be assigned the WorkItem
      • deleteProcess

        public void deleteProcess​(long processID)
        Delete the workflow process identified by the processID
        Parameters:
        processID - ID of the process instance
      • getListProcessesResults

        public ProcessResult getListProcessesResults​(PageHandle pageHandle)
        Search for process instances in the system
        Parameters:
        pageHandle - paged search results
        Returns:
        Returns the results of a process instance search. Throws fault exception with fault codes: WorkflowService.ValidPageHandleRequired, WorkflowService.UnableToLoadSearchOptions, WorkflowService.GetWFStatusListFailed, WorkflowService.ErrorUpdatingPageHandle, WorkflowService.UnableToLoadProcessInstanceSDO, WorkflowService.UnableToLoadProcessResultSDO, WorkflowService.FailedToGetSDO.
      • getProcessData

        public ApplicationData[] getProcessData​(long processID,
                                                long subProcessID)
        Gets the application data associated with a process instance
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        Returns:
        The array of ApplicationData objects (e.g. AttachmentData, AttributeData and CommentData). Throws fault exception with fault codes: WorkflowService.AllocatingWorkFailed, WorkflowService.GetMapStatusFailed, WorkflowService.AccessWorkFailed, WorkflowService.LoadWorkDataFailed, WorkflowService.LoadApplicationDataFailed.
      • getProcessDefinition

        public ProcessDefinition getProcessDefinition​(long objectID)
        Gets a process definition (workflow map).
        Parameters:
        objectID - The ID of the workflow map node or the ID of a process instance.
        Returns:
        A process definition (workflow map).
        Throws:
        SoapFaultException - with fault codes:
        WorkflowService.NotAProcessDefinition - The given ID does not refer to a process definition.
        WorkflowService.UnableToFindSpecifiedObject - Cannot get the workflow map with the given ID.
        WorkflowService.UnableToLoadProcessDefinition - There was an error loading the process definition.
      • getProcessDefinitionEx

        public ProcessDefinition getProcessDefinitionEx​(long objectID)
        Gets a process definition (workflow map), including activity permissions.
        Parameters:
        objectID - The ID of the workflow map node or the ID of a process instance.
        Returns:
        A process definition (workflow map).
        Throws:
        SoapFaultException - with fault codes:
        WorkflowService.NotAProcessDefinition - The given ID does not refer to a process definition.
        WorkflowService.UnableToFindSpecifiedObject - Cannot get the workflow map with the given ID.
        WorkflowService.UnableToLoadProcessDefinition - There was an error loading the process definition.
        Since:
        10.0.0
      • getProcessStartData

        public ProcessStartData getProcessStartData​(long objectID)
        Retrieves the data required for starting a Process for the specified ProcessDefinition using the StartProcess method.
        Parameters:
        objectID - the ID of the process definition
        Returns:
        an instance of ProcessStartData containing the necessary data for starting the Process. Throws fault exception with fault codes: WorkflowService.UnableToFindSpecifiedObject, WorkflowService.UnableToGetProcessDefinitionVersion, WorkflowService.NotAProcessDefinition, WorkflowService.UnableToLoadProcessDefinition, WorkflowService.InvalidProcessDefinitionID, WorkflowService.GetProcessDefinitionFailed, WorkflowService.FailedCreatingTemporaryProcessDefinition.
      • getProcessStatus

        public ProcessInstance getProcessStatus​(long processID,
                                                long subProcessID)
        Gets the status of a process instance
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        Returns:
        The Process object representing the current status of the process. Throws fault exception with fault codes: WorkflowService.GetWorkStatusFailed.
      • getWorkItemData

        public ApplicationData[] getWorkItemData​(long processID,
                                                 long subProcessID,
                                                 int activityID)
        Gets the application data associated with a WorkItem
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        Returns:
        The array of ApplicationData objects (e.g. AttachmentData, AttributeData and CommentData). Throws fault exception with fault codes: WorkflowService.InvalidTask, WorkflowService.AllocatingWorkFailed, WorkflowService.StartTaskFailed, WorkflowService.GetWorkPackagesFailed, WorkflowService.LoadApplicationDataFailed.
      • getWorkItemDetails

        public WorkItemDetails getWorkItemDetails​(long processID,
                                                  long subProcessID,
                                                  int activityID)
        Gets the application data and actions associated with a WorkItem
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        Returns:
        The details for the WorkItem, including application data and actions. Throws fault exception with fault codes: WorkflowService.InvalidTask, WorkflowService.AllocatingWorkFailed, WorkflowService.StartTaskFailed, WorkflowService.GetWorkPackagesFailed, WorkflowService.LoadApplicationDataFailed, WorkflowService.LoadWorkItemActionsFailed.
      • importProcessDefinition

        public ProcessDefinition importProcessDefinition​(long parentID,
                                                         java.lang.String name,
                                                         java.lang.String comment,
                                                         boolean attachmentData,
                                                         boolean resetMembers,
                                                         Attachment attach)
        Create a new process definition based on an exported process definition file.
        Parameters:
        parentID - ParentID of node in which the new process definition will be created
        name - Name of the process definition.
        comment - Description of the process definition.
        attachmentData - Indicate whether this process definition should have an AttachmentData package created during import.
        resetMembers - Indicate whether the member names/ids should be reset during the import
        fileAtts - Description of the file uploaded as the process definition content.
        inStream - Contents
        Returns:
        Returns the newly created Process Definition. Throws fault exception with fault codes: WorkflowService.ReadProcessDefinitionFailed, WorkflowService.CreateNodeFailed, WorkflowService.ImportDefinitionFailed, WorkflowService.SaveMapFailed.
      • listProcesses

        public PageHandle listProcesses​(ProcessSearchOptions options)
        Setup a search for process instances in the system
        Parameters:
        options - Options used to search for process instances
        Returns:
        Returns a page handle used to search for process instances. Throws fault exception with fault codes: WorkflowService.ValidSearchOptionsRequired, WorkflowService.CouldNotCreatePageHandleSDO, WorkflowService.ErrorUpdatingPageHandle.
      • listProcessHistory

        public ProcessEvent[] listProcessHistory​(long processID,
                                                 long subProcessID,
                                                 java.lang.Integer activityID)
        Gets the history of a process
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity. Set to null or 0 to retrieve all of the activities
        Returns:
        An array of PrcessEvents representing the actions taken on this process. Throws fault exception with fault codes: WorkflowService.GetAuditRecordsFailed, WorkflowService.UnableToLoadProcessEventSDO.
      • listWorkItems

        public WorkItemResult listWorkItems​(PageHandle pageHandle)
        Lists the WorkItems assigned to the current user
        Parameters:
        pageHandle - Controls the pagination of the results. Use null for all results
        Returns:
        The WorkItemResult containing an array of WorkItems and a PageHandle object for paging the results. Throws fault exception with fault codes: WorkflowService.InvalidPageHandle, WorkflowService.CouldNotCreatePageHandleSDO, WorkflowService.GetItemsFailed, WorkflowService.UnableToLoadWorkItemSDO, WorkflowService.UnableToLoadWorkItemResultSDO.
      • listWorkItemsEx

        public WorkItemResult listWorkItemsEx​(PageHandle pageHandle)
        Lists the WorkItems assigned to the current user, including the workflow title and WorkItem priority
        Parameters:
        pageHandle - Controls the pagination of the results. Use null for all results
        Returns:
        The WorkItemResult containing an array of WorkItems and a PageHandle object for paging the results. Throws fault exception with fault codes: WorkflowService.InvalidPageHandle, WorkflowService.CouldNotCreatePageHandleSDO, WorkflowService.GetItemsFailed, WorkflowService.UnableToLoadWorkItemSDO, WorkflowService.UnableToLoadWorkItemResultSDO.
      • reassignActivity

        public void reassignActivity​(long processID,
                                     long subProcessID,
                                     int activityID,
                                     long memberID)
        Reassigns an activity in the process to a different member
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        memberID - ID of the member to be assigned the WorkItem
      • resumeProcess

        public void resumeProcess​(long processID)
        Resumes a suspended process instance.
        Parameters:
        processID - ID of the process instance
      • sendWorkItemForGroupReview

        public void sendWorkItemForGroupReview​(long processID,
                                               long subProcessID,
                                               int activityID,
                                               long groupID,
                                               java.lang.String title,
                                               java.lang.String instructions,
                                               int duration,
                                               WorkItemPriority priority,
                                               GroupOptions groupOptions)
        Sends a WorkItem to a group for review. The WorkItem then becomes a WorkItem for that group and will return to the original user when complete.
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        groupID - ID of the group to review the WorkItem
        title - Title of the WorkItem for the reviewer
        instructions - Instructions for the reviewer of the WorkItem
        duration - Length of time allocated, in hours, for this WorkItem to be reviewed
        priority - Priority of the review for this WorkItem.
        groupOptions - Group options for the review. Valid group options: Member Accept, One Level Expand, Full Expand
      • sendWorkItemForReview

        public void sendWorkItemForReview​(long processID,
                                          long subProcessID,
                                          int activityID,
                                          long memberID,
                                          java.lang.String title,
                                          java.lang.String instructions,
                                          int duration)
        Sends a WorkItem to a user or group for review. The WorkItem then becomes a WorkItem for that user or group and will return to the original user when complete.
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        memberID - ID of the member to review the WorkItem
        title - Title of the WorkItem for the reviewer
        instructions - Instructions for the reviewer of the WorkItem
        duration - Length of time allocated, in hours, for this WorkItem to be reviewed
      • sendWorkItemForSubmapReview

        public void sendWorkItemForSubmapReview​(long processID,
                                                long subProcessID,
                                                int activityID,
                                                long submapID)
        Sends a WorkItem to a submap for review. The WorkItem then becomes a sub-workflow and will return to the original user when complete.
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        submapID - ID of the submap
      • sendWorkItemForUserReview

        public void sendWorkItemForUserReview​(long processID,
                                              long subProcessID,
                                              int activityID,
                                              long userID,
                                              java.lang.String title,
                                              java.lang.String instructions,
                                              int duration,
                                              WorkItemPriority priority)
        Sends a WorkItem to a user for review. The WorkItem then becomes a WorkItem for that user and will return to the original user when complete.
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        userID - ID of the user to review the WorkItem
        title - Title of the WorkItem for the reviewer
        instructions - Instructions for the reviewer of the WorkItem
        duration - Length of time allocated, in hours, for this WorkItem to be reviewed
        priority - Priority of the review for this WorkItem.
      • startProcess

        public ProcessInstance startProcess​(ProcessStartData startData,
                                            long[] attachments,
                                            long[] memberRoleIDs)
        Creates and starts a Process based on the provided data.
        Parameters:
        startData - the data to use for starting the Process.
        attachments - A list of objectIDs that will be added to the attachments of this Process or null if no attachments are to be added.
        memberRoleIDs - A list of memberIDs that will be mapped to any roles defined on this Process or null if no roles are defined.
        Returns:
        The Process object representing the current status of the process. Throws fault exception with fault codes: WorkflowService.ValidProcessStartDataRequired, WorkflowService.GetProcessDefinitionFailed, WorkflowService.StartWorkflowFailed.
      • stopProcess

        public void stopProcess​(long processID)
        Stops the process instance. You can not resume a stopped process.
        Parameters:
        processID - ID of the process instance
      • suspendProcess

        public void suspendProcess​(long processID)
        Suspends the process instance. You can resume a suspended process.
        Parameters:
        processID - ID of the process instance
      • updateProcessData

        public void updateProcessData​(long processID,
                                      long subProcessID,
                                      ApplicationData[] applicationData)
        Updates the application data on a Process
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        applicationData - ApplicationData objects for the Process
      • updateWorkItemData

        public void updateWorkItemData​(long processID,
                                       long subProcessID,
                                       int activityID,
                                       ApplicationData[] applicationData)
        Updates the application data on a WorkItem
        Parameters:
        processID - ID of the process instance
        subProcessID - ID of the subprocess. The main subprocess has the same ID as the process.
        activityID - ID of the activity instance
        applicationData - ApplicationData objects for the WorkItem