Input and Output Examples
You can use these examples as models for your output and input message configurations.
For this example, this is the process data:
<ProcessData>
<PO>
<CustomerNumber>12345</CustomerNumber>
</PO>
</ProcessData>
Before the service runs, the output assigns are used to move data from process data to the input for the service. The message sent to GetCustomerData looks like:
<MessageToGet>
<ID>12345</ID>
</MessageToGet>
The message produced by GetCustomerData looks like:
<MessageFromGet>
<NAME>Bob Smith</NAME>
<EMAIL>bob_smith@sterlcomm.com</EMAIL>
</MessageFromGet>
After the service runs, the input assigns are used to move data from the output produced by the service back into process data. After the input assignments are applied, the process data looks like:
<ProcessData>
<PO>
<CustomerNumber>12345</CustomerNumber>
</PO>
<CustomerName>Bob Smith</CustomerName>
<CustomerEmail>bob_smith@sterlcomm.com</CustomerEmail>
</ProcessData>
The CustomerName and CustomerEmail data is now available for subsequent steps in the business process to use. Remember, the business process writer is not required to use any or all of the data returned by a service.
The following illustration shows a simple process that has three services. The triangles represent the XML documents (input and output messages) that contain the actual data values obtained from evaluating the assignments defined in each of the operations (services) in the process definition. The illustration provides a graphic example of how the messages and services interact with process data in a larger process.