Petals-SE-BPMN2 1.0.0-SNAPSHOT

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

Changes (17)

View Page History
h4. Identifying output parameters of operations

Output parameters of the BPMN 2.0 engine API operation can not be mapped to the output reply of the service operation using a simple XPath expression as for input parameters. An XSL style-sheet is required to generated the full output reply. It is identified using the annotation adding the element {{\{http://petals.ow2.org/se/bpmn2.0/1.0}output}}. The XSL style-sheet name is set into the attribute {{*xsl*}} and loaded from the classloader. The XSL style-sheets are mainly located in the service-units, they can also be packaged as a shared library.
Output parameters of the BPMN 2.0 engine API operation can not be mapped to the output reply of the service operation using a simple XPath expression as for input parameters. An XSL style-sheet is required to generated the full output reply. It is identified using the annotation adding the element {{\{http://petals.ow2.org/se/bpmn2.0/1.0}output}} that contains the XSL style-sheet name. The XSL style-sheet is read from the classloader or through a file relative to the root directory of the service unit. The XSL style-sheets are mainly located in the service-units, they can also be packaged as a shared library.

According to the operation executed by the BPMN 2.0 engine, its output parameters are transmitted to the XSL style-sheet through XSL parameters. You will use these XSL parameters to generate your service reply from your service request payload. See operation details to know the available XSL parameters.
The XSL parameters available to generate the service output reply are:
|| XSL parameter name || Type || Description ||
| processInstanceId {http://petals.ow2.org/se/bpmn/output-params/1.0/special}processInstanceId | String | Identifier of the process instance created |
| userId {http://petals.ow2.org/se/bpmn/output-params/1.0/special}userId | String | The user identifier used to create the process instance |
| {http://petals.ow2.org/se/bpmn/output-params/1.0/process-instance}<variable-name> | String | Process instance variables. <variable-name> is the name of a process instance variable. |

It is possible to map several operations of the WSDL to the creation of process instances, but this has perhaps no sens.
/*[local-name()='newOrderRequest']/*[local-name()='address']
</bpmn:variable>
<bpmn:output xsl="newOrderOutput.xsl" /> <bpmn:output>newOrderOutput.xsl</bpmn:output>
<wsdl:input/>
<wsdl:output/>
Note: The completion status of the task is a variable and so it takes any form.

No XSL parameters is available to generate the service output reply. Your XSL style-sheet will be a "constant" style-sheet.
The XSL parameters available to generate the service output reply are:
|| XSL parameter name || Type || Description ||
| {http://petals.ow2.org/se/bpmn/output-params/1.0/special}userId | String | The user identifier used to create the process instance |
| {http://petals.ow2.org/se/bpmn/output-params/1.0/process-instance}<variable-name> | String | Process instance variables. <variable-name> is the name of a process instance variable. |
| {http://petals.ow2.org/se/bpmn/output-params/1.0/task}<variable-name> | String | Task local variables. <variable-name> is the name of a task local variable. |

A such operation is defined for each task of the process definition to complete. {color:red}*C'est le cas d'un service par tache à terminer. Essayer de mieux expliquer.*{color}.

{color:red}*Mapping des parametres à faire*{color}

{code:title=WSDL mapping sample}
<wsdl:binding name="Order" xmlns:bpmn="http://petals.ow2.org/se/bpmn2.0/1.0" >
/*[local-name()='validOrderRequest']/*[local-name()='creditCardNumber']
</bpmn:variable>
<bpmn:output xsl="validOrderOutput.xsl" /> <bpmn:output>validOrderOutput.xsl</bpmn:output>
<wsdl:input/>
<wsdl:output/>
<bpmn:input-parameter name="responsibleUser" value="/searchOrderRequest/responsibleUser" />
<bpmn:input-parameter name="responsibleGroup" value="/searchOrderRequest/responsibleGroup" />
<bpmn:output xsl="searchOrderOutput.xsl" /> <bpmn:output>searchOrderOutput.xsl</bpmn:output>
<wsdl:input/>
<wsdl:output/>
/*[local-name()='newOrderRequest']/*[local-name()='address']
</bpmn:variable>
<bpmn:output xsl="newOrderOutput.xsl" />
<bpmn:output>newOrderOutput.xsl</bpmn:output>
<wsdl:input />
<wsdl:output />
/*[local-name()='validOrderRequest']/*[local-name()='creditCardNumber']
</bpmn:variable>
<bpmn:output xsl="validOrderOutput.xsl" />
<bpmn:output>validOrderOutput.xsl</bpmn:output>
<wsdl:input />
<wsdl:output />
<bpmn:input-parameter name="responsibleUser" value="/searchOrderRequest/responsibleUser" />
<bpmn:input-parameter name="responsibleGroup" value="/searchOrderRequest/responsibleGroup" />
<bpmn:output xsl="searchOrderOutput.xsl" />
<bpmn:output>searchOrderOutput.xsl</bpmn:output>
<wsdl:input />
<wsdl:output />