- 可选: 列示任务模板以查找所要运行的发起任务的名称。
如果您已知道该任务的名称,则此步骤是可选的。
TaskTemplate[] taskTemplates = task.queryTaskTemplates
("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_ORIGINATING",
"TASK_TEMPL.NAME",
new Integer(50),
null);
结果将按名称排序。此查询返回一个数组,该数组包含前 50 个发起模板(已排序)。
- 创建适当类型的输入消息。
TaskTemplate template = taskTemplates[0];
// create a message for the selected task
ClientObjectWrapper input = task.createInputMessage( template.getID());
DataObject myMessage = null ;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
//set the parts in the message, for example, a customer name
myMessage.setString("CustomerName", "Smith");
}
- 创建该任务并以同步方式运行它。
要以同步方式运行任务,它必须是双向操作。本示例使用 createAndCallTask 方法来创建和运行任务。
ClientObjectWrapper output = task.createAndCallTask( template.getName(),
template.getNamespace(),
input);
- 分析任务结果。
DataObject myOutput = null;
if ( output.getObject() != null && output.getObject() instanceof DataObject )
{
myOutput = (DataObject)output.getObject();
int order = myOutput.getInt("OrderNo");
}