The
application above illustrates communication between an order system and a
billing system. The scenario is as follows:
1. The receive
shape receives a new order message from the order system
2. The
order message is forwarded to the ERP system for it to process an invoice
3. A
receipt is received from the ERP system. The receipt contains a transId which
is unique for the order and invoice.
a. This transId is set as Initializing
Correlation Sets on the receive shape
b. The transId is a promoted property in
receipt xsd
c. Correlation Type and Correlation Set is set
for this promoted property in the orchestration
4. When the
invoice has been processed by the ERP system it sends a notice that the invoice
is ready to be picked up. In the notice the transId is sent
a. This notification must be sent back to the
corresponding orchestration that has been waiting for the notification, thus transId
in the notification must correlate with the set in step 3. Therefore this
receive shape is set to follow the correlation set in step 3.
5. The
invoice is requested using the transId
6. Updated
invoice data is received in the response
7. A
confirmation of the notification is sent back if the retrieval of the updated
invoice was ok
When
implementing this I am prompted with the error: “in a sequential convoy the
ports must be identical”. Whilst this makes sense, I cannot use a parallel
action as the process is indeed sequential. How do I get around this?