Petals-SE-Flowable 1.0.0+

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (4)

View Page History
| {{startEvent}} | Create a new instance of the process. See [Associating an operation to the creation of an process definition instance|#associating_startEvent] for more information on this operation. |
| {{userTask}} | Complete a user task. See [Associating an operation to the completion of a process instance task|#associating_userTask] for more information on this operation. |
| {{intermediateMessageCatch}} | Catches an intermediate message. See [Associating an operation to the catching of an intermediate message|#associating_intermediateMessageCatchEvent] for more information on this operation. |

The action is completed with the another attribute as following:
* {{start-event-message-name}}, for message start event step, it will contain the name of the message in the process definition that fires this start event step. |
| {{userTask}} | The identifier in the process definition of the user task to complete associated to the operation is given through the extra attribute {{user-task-id}}. |
| {{through the extra attribute {{user-task-id}}. |}} | The message name in the process definition of the intermediate message catch event associated to the operation is provided through this extra attribute. |

h4. Identifying input parameters of operations
* the user identifier.
See [Associating an operation to the completion of a process instance task|#associating_userTask] for more information on the declaration of these parameters. |
| {{intermediateMessageCatch}} | Expected input parameter is the process instance identifier. See [Associating an operation to the catching of an intermediate message|#associating_intermediateMessageCatchEvent] for more information on the declaration of these parameters. |

Variables are identified by the annotation adding the element {{\{http://petals.ow2.org/se/flowable/annotations/1.0}variable}}:
{code}

{anchor:associating_intermediateMessageCatchEvent}
h4. Associating an operation to the intermediate message catch event

The operation receiving an intermediate message event identified by the value *{{intermediateMessageCatch}}* set on the attribute {{action}} of the annotation {{\{http://petals.ow2.org/se/flowable/annotations/1.0}operation}}. To guarantee that the expected intermediate message catch event is the right one, the message name is clarified with the attribute *{{message-event-name}}*.

This operation accepts variables and requires the following input parameters:
* process instance identifier, declared using the annotation {{\{http://petals.ow2.org/se/flowable/annotations/1.0}processId}} containing an XPath expression that is applied on incoming XML payload to get the value of the process instance identifier to use on the BPMN engine side.

This operation is limited to the JBI MEPs: InOnly and RobustInOnly. So no output reply is returned, only fault and error according to the MEP.

The following errors thrown by the BPMN engine can be mapped to business fault:
|| Error || Description || XSL parameters ||
| {{ProcessInstanceNotFoundException}} | No active process instance found for the given process instance identifier | process instance identifier: \{http://petals.ow2.org/se/flowable/faults/1.0}processInstanceId |

A such operation can be defined for each intermediate message catch event of the process definition to complete.

{code:title=WSDL mapping sample}
<wsdl:binding name="Order" xmlns:flowable="http://petals.ow2.org/se/flowable/annotations/1.0" >
<wsdl:operation name="paymentReceived">
<flowable:operation processDefinitionId="order" action="intermediateMessageCatch" message-event-name="paymentReceived"/>
<flowable:processId>/*[local-name()='paymentReceivedRequest']/*[local-name()='orderId']</flowable:processId>
<flowable:variable name="checkNumber">
/*[local-name()='paymentReceivedRequest']/*[local-name()='checkNumber']
</flowable:variable>
<wsdl:input/>
<wsdl:fault name="orderUnknown">
<bpmn:fault name="ProcessInstanceNotFoundException">orderUnknown.xsl</bpmn:fault>
<soap:fault name="orderUnknown" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
{code}

{code:title=Associated input request}
<paymentReceivedRequest>
<orderId>12345</orderId>
<checkNumber>1234567890123</checkNumber>
</paymentReceivedRequest>
{code}

h4. Associating an operation to retrieve process instances