Opcional: Liste las plantillas de proceso para encontrar
el nombre del proceso que desea ejecutar. Este paso es opcional si ya sabe el nombre del proceso.
ProcessTemplateData[] processTemplates = process.queryProcessTemplates
("PROCESS_TEMPLATE.EXECUTION_MODE.EXCECUTION_MODE_MICROFLOW",
"PROCESS_TEMPLATE.NAME",
new Integer(50),
null);
El resultado se clasifica por nombre.
La consulta devuelve una matriz que contiene las 50 primeras plantillas
clasificadas que se pueden iniciar mediante el método call.
Iniciar el proceso con un mensaje de entrada del tipo adecuado. Cuando cree el mensaje, debe especificar el nombre del tipo de mensaje, para que contenga la definición del mensaje.
ProcessTemplateData template = processTemplates[0];
//crear un mensaje sólo para la actividad de recepción inicial
ClientObjectWrapper input = process.createMessage
(template.getID(),
template.getInputMessageTypeName());
DataObject myMessage = null;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
//establecer las series del mensaje, por ejemplo, un nombre de cliente
myMessage.setString("CustomerName", "Smith");
}
//ejecutar el proceso
ClientObjectWrapper output = process.call(template.getName(), input);
DataObject myOutput = null;
if ( output.getObject() != null && output.getObject() instanceof DataObject )
{
myOutput = (DataObject)output.getObject();
int order = myOutput.getInt("OrderNo");}
Esta acción crea una instancia de la plantilla de proceso, CustomerTemplate, y pasa algunos datos al cliente. La operación sólo devuelve resultados cuando el proceso
se ha completado. Se devuelve el resultado del proceso, OrderNo, al proceso que efectúa la llamada.