How to execute Orchestrator Package through Solace
To execute an Orchestrator Package through Solace, utilize the existing mechanisms in ERP Connectivity.
-
Create a Push Connector Package.
-
Ensure your ERP data model inherits the SolaceTransactionInfo class from the SDK if you need to extract information from transaction data, such as topic or headers.
-
-
Upload and configure topic/queue for listener.
-
Create an Orchestrator Package
-
In the description.xml, add a Listener section with the result topic of the previously created push Connector Package, for example:
-
bosch.nexeed.business.event.connector-package.response.{area-name}.{operation-name}.{operation-name}
-
In the workflow, as the first step, use GetMessageFlowActivity and for the in-argument’s expression, use:
JObject.Parse({workflow-in-argument-name})[\"messageId\"].ToString()
-
To retrieve the contents of the Solace event, use this expression:
varSteps.Where(step => step.MessageDirection == MessageDirection.MessageFromNorth).First().SerializedObject
or use MessageDirection.ResponseToSouth to utilize the contents of the mapped message to the Industrial Application System data model. * Upload and activate the created Orchestrator Package.
This establishes a chain of executions:
-
An event from Solace triggers ERPConnectivity.
-
The execution of the Connector Package occurs.
-
The results of the Connector Package are linked and pushed to a RabbitMQ exchange.
-
ERPConnectivity responds to the event.
-
The Orchestrator Package is executed.