Execute Service Call#
This task executes a MES service call. It enables the connect IoT module to interact with MES Services.
Note
The image of the task is an example using the MES DeleteLicense service. If no service is selected the task will have no inputs or outputs, except for Activate, Success and Error.
Details#
| Fields | Details |
|---|---|
| Scope | Connect IoT Data Platform Enterprise Integration Factory Automation |
| Workflow | Data flow Control flow |
IsProtocol flag |
Inputs#
| Name | Data Type | Description |
|---|---|---|
<custom list> | <custom> | Inputs for the service |
| Activate | any | Executes the configured MES service |
Outputs#
| Name | Data Type | Description |
|---|---|---|
<custom list> | <custom> | Outputs of the service |
| Success | Boolean | If there was no problem emits a true |
| Error | Error | Error that occurred during the processing of this task |
Settings#
On the General Tab, the usual settings such as Name, description and color.
And the following retries settings:
| Setting | Data Type | Default | Description |
|---|---|---|---|
| Number of Retries | integer | 30 | The maximum number of attempts the IoT process (client) makes to call the MES backend if the connection or execution fails. |
| Sleep Time between retries (ms) | integer | 1000 | Number of milliseconds to wait between retries. It only applies when the previous call fails |
| Number of System Retries | integer | 10 | The maximum number of attempts the MES backend makes to call the target service if the execution fails. |
Multiplicative Retry Effect
Retry limits are cumulative. In the event of a persistent target service failure, the total number of requests generated will be the product of the Client Retries (N) and the Backend Retries (M). For example, if both are set to 10, a single IoT request could result in up to 100 total attempts (N x M), which may lead to system congestion or high latency.
On the Service Tab, you have a listing of all the available MES services.
On the Inputs Tab, you have the inputs referring to the selected service (automatically loaded):
| Name | Data Type | Default | Description |
|---|---|---|---|
| Name | String | <Filled by the Service> | Name of MES service input. |
| Friendly Name | String | <Filled by the Service> | Name to be displayed. |
| Type | LongDecimalDateTimeBooleanStringInteger | <Filled by the Service> | Type of the MES service input. |
| Collection Type | NoneArrayMap | <Filled by the Service> | |
| Default | <custom type> | Default Value for the MES service input |
On the Outputs Tab, you have the outputs referring to the selected service:
| Name | Data Type | Default | Description |
|---|---|---|---|
| Name | String | <Filled by the Service> | Name of MES service output. |
| Friendly Name | ``String | <Filled by the Service> | Name to be displayed. |
| Type | LongDecimalDateTimeBooleanStringInteger | <Filled by the Service> | The type of the output |
| Collection Type | NoneArrayMap | <Filled by the Service> |
Behavior#
The task executes a MES service given a set of input values. It instantiates a MES input object, calls the service, and transforms the MES output objects into individual output variables.
Remarks#
Make sure the MES objects linked with the inputs are fully loaded, otherwise, the Service call may fail. If the objects are not loaded and to avoid making multiple calls to MES to get the objects fully loaded, you can add Pre actions to the service and load them inside MES system and therefor, make the calls much more efficient.


