Task Engine 10.7 | Task Engine Webhelp | webMethods Task Engine API and Service Reference | Using the Task Engine RESTful Web Services in Integration Server | POST a Complex Task Search Request
 
POST a Complex Task Search Request
This REST request retrieves tasks that are specified with more complex search criteria. The underlying built-in services are:
*pub.task.taskclient:searchTasks
*pub.task.taskclient:searchTasksFields
*pub.task.taskclient:searchTasksIndexed
*pub.task.taskclient:countTasksIndexed
This request can be used in the following four modes:
*searchTasks mode. Retrieve tasks that match specified search criteria, when working with tasks that use standard business data.
*searchTasksFields mode. Return a collection of named fields requested in each service that matches specified search criteria.
*searchTasksIndexed mode. Return a subset of tasks that match the specified search criteria, when working with indexed business data fields.
*countTasksIndexed mode. Return the total count of tasks that match the specified search criteria. This service applies only to tasks with indexed business data.
For additional information on these modes, see Usage Notes.
searchTasks Mode
Use this mode to retrieve tasks that match specified search criteria. This request applies only to tasks that use standard business data.
Use this HTTP request and include optional parameters in the request body:
POST /rest/pub/opentasksearch
Input Parameters
includeTaskData
String Optional. Specifies whether the service will return the TaskData document as well as the pub.task:TaskInfo document for each task matching the search criteria. Set to:
*true to include the TaskData document in the result set.
*false (default) to include only the TaskInfo document in the result set.
searchUserTasks
String Optional. Specifies whether the service searches all tasks or only the user's inbox. Set to:
*true to search only the inbox for user.
*false (default) to search all tasks to which user has access.
taskSearchQuery or TaskSearchQuery
Document Optional. The TaskSearchQuery document, which specifies the search criteria. See pub.task:TaskSearchQuery for a description of the fields in this document. If TaskSearchQuery is null, all tasks for user will be returned.
user
String Optional. The user ID of the My webMethods Server user on whose behalf this service will execute. If user is not specified, the user ID associated with the WmTaskClient package is used. For information about configuring this user ID, see webMethods Task Engine User’s Guide.
Note:
Only tasks to which user has access are searched.
Output Parameters
Tasks
Document list Result set containing the tasks that match the search criteria in pub.task:TaskSearchQuery. Each document in the result set has the following structure:
*TaskID String The identifier assigned to the task instance.
*TaskInfo Document TaskInfo document containing standard information about the task. See pub.task:TaskInfo for a description of the fields in this document.
*TaskData Document The TaskData document containing the business data associated with the task. Returned only if includeTaskData is set to true.
searchTasksFields Mode
This mode is used to return a collection of named fields requested in each service that matches specified search criteria.
Note:
This request can only return primitive types (strings, numbers, dates, and so on) or lists (arrays) of primitives. It cannot return complex objects such as all task business data.
Use this HTTP request and include optional parameters in the request body:
POST /rest/pub/opentasksearch/fields
Input Parameters
fields
String list Optional. List of task fields to be returned by this service. For information about specifying fields, see the fields and operator elements in pub.task:TaskSearchQueryTerm. For example, suppose you want to return the following fields as result of the query:
*taskID
*The business data field orderID from task data documents.
You would then pass in following field specifications:
#{currentTask.taskInfo.taskID}
#{currentTask.taskData.order.orderID}
The service will return values for these fields only.
includeTaskData
String Optional. Specifies whether the service will return the TaskData document as well as the pub.task:TaskInfo document for each task matching the search criteria. Set to:
*true to include the TaskData document in the result set.
*false (default) to include only the TaskInfo document in the result set.
searchUserTasks
String Optional. Specifies whether the service searches all tasks or only the user's inbox. Set to:
*true to search only the inbox for user.
*false (default) to search all tasks to which user has access.
taskSearchQuery or TaskSearchQuery
Document Optional. The TaskSearchQuery document, which specifies the search criteria. See pub.task:TaskSearchQuery for a description of the fields in this document. If TaskSearchQuery is null, all tasks for user will be returned
user
String Optional. The user ID of the My webMethods Server user on whose behalf this service will execute. If user is not specified, the user ID associated with the WmTaskClient package is used. For information about configuring this user ID, see webMethods Task Engine User’s Guide.
Note:
Only tasks to which user has access are searched.
Output Parameters
TaskFields
Document list Result set containing a list of documents whose document type is defined in pub.task:TaskFields.
searchTasksIndexed Mode
Use this mode to return a subset of tasks that match the specified search criteria on the Task Engine connected to the Integration Server.
The query must contain a search term specifying the taskTypeID when searching for business data fields. The Task Engine uses the taskTypeID to identify the specific index table to use. You can search for multiple task types in a single query by specifying multiple taskTypeID values when you define the search criteria. If you are not searching for business data fields, then a taskTypeID is not required.
Use this service only when working with indexed business data fields. If you are working with standard business data fields, use searchTasks Mode.
Use this HTTP request and include optional parameters in the request body:
POST /rest/pub/opentasksearch/indexed
Input Parameters
includeTaskData
String Optional. Indicates whether the search query operation includes indexed business data when processing the search query. Use this property when your search query contains search terms that reference indexed business data fields. Set to:
*true to include business data in the search query processing.
*false (default) when your search query does not require processing of business data or when your task type does not use any defined indexed business fields.
searchUserTasks
String Optional. Specifies whether the service searches all tasks or only the user's inbox. Set to:
*true to search only the inbox for user.
*false (default) to search all tasks to which user has access.
taskSearchQueryV2 or TaskSearchQueryV2
Document Optional. The TaskSearchQueryV2 document that specifies the search criteria. See pub.task.TaskSearchQueryV2 for a description of the fields in this document. If TaskSearchQueryV2 is null, an error occurs.
user
String Optional. The user ID of the My webMethods Server user on whose behalf this service will execute. If user is not specified, the user ID associated with the WmTaskClient package is used. For information about configuring this user ID, see webMethods Task Engine User’s Guide.
Note:
Only tasks to which user has access are searched.
Output Parameters
Tasks
Document list Result set containing the tasks that match the search criteria in pub.task.TaskSearchQueryV2. Each document in the result set has the following structure:
*TaskID String The identifier assigned to the task instance.
*TaskInfo Document The TaskInfo document containing standard information about the task. See pub.task:TaskInfo for a description of the fields in this document.
*TaskData Document The TaskData document containing the business data associated with the task. Returned only if includeTaskData is set to true.
countTasksIndexed Mode
This mode is used to return the total count of tasks that match the specified search criteria. This request applies only to tasks with indexed business data.
Use this HTTP request and include optional parameters in the request body:
POST /rest/pub/opentasksearch/count
Input Parameters
includeTaskData
String Optional. Indicates whether the search query operation includes indexed business data when processing the search query. Use this property when your search query contains search terms that reference indexed business data fields. Set to:
*true to include business data in the search query processing. An error occurs if includeTaskData is set to true and the task type does not contain any indexed fields.
*false (default) when your search query does not require processing of business data or when your task type does not use any defined indexed business fields.
searchUserTasks
String Optional. Specifies whether the service searches all tasks or only the user's inbox. Set to:
*true to search only the inbox for user.
*false (default) to search all tasks to which user has access.
taskSearchQueryV2 or TaskSearchQueryV2
Document Optional. The TaskSearchQueryV2 document that specifies the search criteria. See pub.task.TaskSearchQueryV2 for a description of the fields in this document. If TaskSearchQueryV2 is null, an error occurs.
user
String Optional. The user ID of the My webMethods Server user on whose behalf this service will execute. If user is not specified, the user ID associated with the WmTaskClient package is used. For information about configuring this user ID, see webMethods Task Engine User’s Guide.
Note:
Only tasks to which user has access are searched.
Output Parameters
totalCount
String Returns the total number of tasks that match the query.
Usage Notes
The following considerations apply to the available modes:
*searchTasks. This mode applies only to tasks that use standard business data.
*searchTasksFields. Using this mode instead of the searchTasks mode can significantly improve search performance. The searchTasks mode returns all TaskInfo data plus TaskData documents, which can result in a very large amount of data. Because this is a Web service (REST) call, the response size becomes an issue, severely limiting performance of this service. With searchTasksFields mode, a very narrow search can be tailored, often requiring only a few TaskInfo fields and some business data fields. Using searchTasksFields mode is strongly recommended to prevent problems.
*searchTasksIndexed. If no tasks match the search criteria, an empty TaskData document is returned. The search query must contain a search term specifying the taskTypeID to search business fields and create an index of the results.
*countTasksIndexed. To be used when specifying the toIndex and fromIndex parameters of the searchTasksIndexed mode to avoid requesting an index beyond the size of the search results. These two parameters are available in the input document pub.task.TaskSearchQueryV2.