Petals SE Flowable

Allow to use the message content of an IntermediateCatchEvent

Details

  • Type: Improvement Request Improvement Request
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.1.1
  • Fix Version/s: 1.1.2
  • Component/s: Service engine
  • Security Level: Public
  • Description:
    Hide

    In BPMN, intermediate catch event we provide has a message ref.

    <intermediateCatchEvent id="attenteSolde" name="">
        <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
    </intermediateCatchEvent>

    The reception of the message does not allow to use then its contents in the BPMN process.

    The class IntermediateMessageCatchEventOperation, method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

    the method messageEventReceived allows to provide variables (the payload of the event is present in doExecute method).

    The configuration could be done in the description of the operation in the WSDL as for the start event:
    Example

    <wsdl:operation name="estInstruite">
    	<soap:operation soapAction="http://ns" style="document"/>
    	<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
    	<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
    	<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
    	<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
    	<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
    	<wsdl:input>
    		<soap:body use="literal" />
    	</wsdl:input>
    </wsdl:operation>

    In BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

    Thank

    Show
    In BPMN, intermediate catch event we provide has a message ref.
    <intermediateCatchEvent id="attenteSolde" name="">
        <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
    </intermediateCatchEvent>
    The reception of the message does not allow to use then its contents in the BPMN process. The class IntermediateMessageCatchEventOperation, method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable. the method messageEventReceived allows to provide variables (the payload of the event is present in doExecute method). The configuration could be done in the description of the operation in the WSDL as for the start event: Example
    <wsdl:operation name="estInstruite">
    	<soap:operation soapAction="http://ns" style="document"/>
    	<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
    	<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
    	<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
    	<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
    	<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
    	<wsdl:input>
    		<soap:body use="literal" />
    	</wsdl:input>
    </wsdl:operation>
    In BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received. Thank
  • Environment:
    petals 5.2.0, se-flowable 1.1.1

Activity

Hide
Christophe DENEUX added a comment - Tue, 14 Aug 2018 - 09:58:50 +0200

See exchanges about the right API to use about this subject on Flowable forum: https://forum.flowable.org/t/intermediate-catch-event-with-message/2325

Show
Christophe DENEUX added a comment - Tue, 14 Aug 2018 - 09:58:50 +0200 See exchanges about the right API to use about this subject on Flowable forum: https://forum.flowable.org/t/intermediate-catch-event-with-message/2325
Christophe DENEUX made changes - Tue, 14 Aug 2018 - 09:58:51 +0200
Field Original Value New Value
Priority Blocker [ 1 ]
Description in bpmn intermediate catch event we provide a message ref.

<intermediateCatchEvent id="attenteSolde" name="">
    <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
</intermediateCatchEvent>

The reception of the message does not allow to use then its contents in the bpmn process.


The class [IntermediateMessageCatchEventOperation|https://github.com/petalslink/petals-se-flowable/blob/master/src/main/java/org/ow2/petals/flowable/incoming/operation/IntermediateMessageCatchEventOperation.java], method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

the method [messageEventReceived|https://github.com/flowable/flowable-engine/blob/ac11540968cbec65de7ab13408d68a8287331cc0/modules/flowable-engine/src/main/java/org/flowable/engine/RuntimeService.java#L1185] allows to provide variables (the payload of the event is present in doExecute method).

The configuration could be done in the description of the operation in the WSDL as for the start event:
Example

<wsdl:operation name="estInstruite">
<soap:operation soapAction="http://ns" style="document"/>
<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>

in BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

thank
in bpmn intermediate catch event we provide a message ref.

<intermediateCatchEvent id="attenteSolde" name="">
    <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
</intermediateCatchEvent>

The reception of the message does not allow to use then its contents in the bpmn process.


The class [IntermediateMessageCatchEventOperation|https://github.com/petalslink/petals-se-flowable/blob/master/src/main/java/org/ow2/petals/flowable/incoming/operation/IntermediateMessageCatchEventOperation.java], method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

the method [messageEventReceived|https://github.com/flowable/flowable-engine/blob/ac11540968cbec65de7ab13408d68a8287331cc0/modules/flowable-engine/src/main/java/org/flowable/engine/RuntimeService.java#L1185] allows to provide variables (the payload of the event is present in doExecute method).

The configuration could be done in the description of the operation in the WSDL as for the start event:
Example

{code}
<wsdl:operation name="estInstruite">
<soap:operation soapAction="http://ns" style="document"/>
<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
{code}

in BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

thank
Christophe DENEUX made changes - Mon, 3 Dec 2018 - 12:03:58 +0100
Priority Blocker [ 1 ] Major [ 3 ]
Description in bpmn intermediate catch event we provide a message ref.

<intermediateCatchEvent id="attenteSolde" name="">
    <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
</intermediateCatchEvent>

The reception of the message does not allow to use then its contents in the bpmn process.


The class [IntermediateMessageCatchEventOperation|https://github.com/petalslink/petals-se-flowable/blob/master/src/main/java/org/ow2/petals/flowable/incoming/operation/IntermediateMessageCatchEventOperation.java], method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

the method [messageEventReceived|https://github.com/flowable/flowable-engine/blob/ac11540968cbec65de7ab13408d68a8287331cc0/modules/flowable-engine/src/main/java/org/flowable/engine/RuntimeService.java#L1185] allows to provide variables (the payload of the event is present in doExecute method).

The configuration could be done in the description of the operation in the WSDL as for the start event:
Example

{code}
<wsdl:operation name="estInstruite">
<soap:operation soapAction="http://ns" style="document"/>
<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
{code}

in BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

thank
In BPMN, intermediate catch event we provide has a message ref.

<intermediateCatchEvent id="attenteSolde" name="">
    <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
</intermediateCatchEvent>

The reception of the message does not allow to use then its contents in the BPMN process.


The class [IntermediateMessageCatchEventOperation|https://github.com/petalslink/petals-se-flowable/blob/master/src/main/java/org/ow2/petals/flowable/incoming/operation/IntermediateMessageCatchEventOperation.java], method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

the method [messageEventReceived|https://github.com/flowable/flowable-engine/blob/ac11540968cbec65de7ab13408d68a8287331cc0/modules/flowable-engine/src/main/java/org/flowable/engine/RuntimeService.java#L1185] allows to provide variables (the payload of the event is present in doExecute method).

The configuration could be done in the description of the operation in the WSDL as for the start event:
Example

{code}
<wsdl:operation name="estInstruite">
<soap:operation soapAction="http://ns" style="document"/>
<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
{code}

in BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

thank
Christophe DENEUX made changes - Mon, 3 Dec 2018 - 12:04:33 +0100
Description In BPMN, intermediate catch event we provide has a message ref.

<intermediateCatchEvent id="attenteSolde" name="">
    <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
</intermediateCatchEvent>

The reception of the message does not allow to use then its contents in the BPMN process.


The class [IntermediateMessageCatchEventOperation|https://github.com/petalslink/petals-se-flowable/blob/master/src/main/java/org/ow2/petals/flowable/incoming/operation/IntermediateMessageCatchEventOperation.java], method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

the method [messageEventReceived|https://github.com/flowable/flowable-engine/blob/ac11540968cbec65de7ab13408d68a8287331cc0/modules/flowable-engine/src/main/java/org/flowable/engine/RuntimeService.java#L1185] allows to provide variables (the payload of the event is present in doExecute method).

The configuration could be done in the description of the operation in the WSDL as for the start event:
Example

{code}
<wsdl:operation name="estInstruite">
<soap:operation soapAction="http://ns" style="document"/>
<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
{code}

in BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

thank
In BPMN, intermediate catch event we provide has a message ref.

{code}
<intermediateCatchEvent id="attenteSolde" name="">
    <messageEventDefinition messageRef="process:subventionSoldeeMessage"/>
</intermediateCatchEvent>
{code}

The reception of the message does not allow to use then its contents in the BPMN process.

The class [IntermediateMessageCatchEventOperation|https://github.com/petalslink/petals-se-flowable/blob/master/src/main/java/org/ow2/petals/flowable/incoming/operation/IntermediateMessageCatchEventOperation.java], method doExecute(line 150) makes it possible to signal the event to the flowable process but does not provide a variable.

the method [messageEventReceived|https://github.com/flowable/flowable-engine/blob/ac11540968cbec65de7ab13408d68a8287331cc0/modules/flowable-engine/src/main/java/org/flowable/engine/RuntimeService.java#L1185] allows to provide variables (the payload of the event is present in doExecute method).

The configuration could be done in the description of the operation in the WSDL as for the start event:
Example

{code}
<wsdl:operation name="estInstruite">
<soap:operation soapAction="http://ns" style="document"/>
<flowable:operation processDefinitionId="processID" action="intermediateMessageCatch" message-event-name="eventMessageName"/>
<flowable:processInstanceId>/*[local-name()='root']/*[local-name()='process-instance-id-callback']</flowable:processInstanceId>
<flowable:variable name="v1">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v1']</flowable:variable>
<flowable:variable name="v2">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v2']</flowable:variable>
<flowable:variable name="v3">/*[local-name()='traiter']/*[local-name()='root']/*[local-name()='v3']</flowable:variable>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
{code}

In BPMN the variables ${v1}, ${v2} an ${v3} are usable after event are received.

Thank
Christophe DENEUX made changes - Mon, 3 Dec 2018 - 12:05:16 +0100
Status New [ 10000 ] Open [ 10002 ]
Christophe DENEUX made changes - Mon, 3 Dec 2018 - 12:05:18 +0100
Status Open [ 10002 ] In Progress [ 10003 ]
Christophe DENEUX made changes - Mon, 3 Dec 2018 - 12:05:48 +0100
Fix Version/s 1.1.2 [ 10927 ]
Hide
Christophe DENEUX added a comment - Wed, 12 Dec 2018 - 17:07:58 +0100

Improve in branch `PETALSSEFLOWABLE-48`

Show
Christophe DENEUX added a comment - Wed, 12 Dec 2018 - 17:07:58 +0100 Improve in branch `PETALSSEFLOWABLE-48`
Christophe DENEUX made changes - Wed, 12 Dec 2018 - 17:07:58 +0100
Status In Progress [ 10003 ] Resolved [ 10004 ]
Resolution Fixed [ 1 ]
Hide
Christophe DENEUX added a comment - Wed, 12 Dec 2018 - 17:08:16 +0100

Merge in branch 'petals-se-flowable-1.1.x'

Show
Christophe DENEUX added a comment - Wed, 12 Dec 2018 - 17:08:16 +0100 Merge in branch 'petals-se-flowable-1.1.x'
Hide
Christophe DENEUX added a comment - Wed, 12 Dec 2018 - 17:08:28 +0100

Merge in branch 'master'

Show
Christophe DENEUX added a comment - Wed, 12 Dec 2018 - 17:08:28 +0100 Merge in branch 'master'
Transition Status Change Time Execution Times Last Executer Last Execution Date
New New Open Open
115d 2h 57m
1
Christophe DENEUX
Mon, 3 Dec 2018 - 12:05:16 +0100
Open Open In Progress In Progress
2s
1
Christophe DENEUX
Mon, 3 Dec 2018 - 12:05:18 +0100
In Progress In Progress Resolved Resolved
9d 5h 2m
1
Christophe DENEUX
Wed, 12 Dec 2018 - 17:07:58 +0100



People

Dates

  • Created:
    Fri, 10 Aug 2018 - 10:07:55 +0200
    Updated:
    Wed, 12 Dec 2018 - 17:08:28 +0100
    Resolved:
    Wed, 12 Dec 2018 - 17:07:58 +0100