Description
When an OData consumed service has actions (bound or unbound) whose parameter and return-type entities were
imported as external entities, those entities are not properly linked to the contract in the MPR. As a result,
mx check reports CE7252 ("parameters for remote action have changed") and CE7269 ("return type for remote
action has changed") on any microflow that calls the action via CALL EXTERNAL ACTION.
Running CREATE OR MODIFY EXTERNAL ENTITIES FROM . INTO ENTITIES (CommandType,
ResponseType, AdditionalArgumentsDefinition) reports success ("3 updated") but does not resolve the issue —
the entities remain unlinked:
SELECT EntityName, UsedByExternalEntity
FROM CATALOG.CONTRACT_ENTITIES
WHERE ServiceQualifiedName = 'CustomModule.App'
AND EntityName IN ('CreateDefinition', 'CreateDefinitionResponse',
'AdditionalArgumentsDefinition');
-- UsedByExternalEntity is empty for all three, even after CREATE OR MODIFY
The only entity correctly linked (UsedByExternalEntity populated) is the main entity set entity
(Definition), which has an EntitySet name in the contract. Action parameter/response entities have no
EntitySet and are never linked.
Steps to reproduce
- Import an OData client whose $metadata defines actions with non-trivial return types (e.g.
CreateDefinition returning CreateDefinitionResponse).
- Import the action parameter and response entities via CREATE EXTERNAL ENTITIES FROM … ENTITIES (…).
- Create a microflow with CALL EXTERNAL ACTION … (command = $Param, additional = empty).
- Run ./mxcli docker check → CE7252 + CE7269 + CE0117.
- Run CREATE OR MODIFY EXTERNAL ENTITIES FROM … ENTITIES (…) → "3 updated".
- Re-run ./mxcli docker check → same errors unchanged.
Expected behavior
CREATE OR MODIFY EXTERNAL ENTITIES FROM should link action parameter and response entities to their
corresponding contract entries, resolving CE7252/CE7269 without requiring Studio Pro.
Alternatively, mxcli should expose a dedicated command (e.g. UPDATE EXTERNAL ACTION
CustomModule.App.CreateDefinition) that synchronizes the action's parameter and return-type
signature from the cached contract, equivalent to the "Update" right-click resolution in Studio Pro.
Actual behavior
The CE7252/CE7269 errors are not resolvable via any mxcli command. The only resolution requires opening Studio
Pro and manually clicking "Update" on the affected action.
Environment
- mxcli version: (0.20.0)
- Mendix version: 11.12.0
- OData version: OData 4
Description
When an OData consumed service has actions (bound or unbound) whose parameter and return-type entities were
imported as external entities, those entities are not properly linked to the contract in the MPR. As a result,
mx check reports CE7252 ("parameters for remote action have changed") and CE7269 ("return type for remote
action has changed") on any microflow that calls the action via CALL EXTERNAL ACTION.
Running CREATE OR MODIFY EXTERNAL ENTITIES FROM . INTO ENTITIES (CommandType,
ResponseType, AdditionalArgumentsDefinition) reports success ("3 updated") but does not resolve the issue —
the entities remain unlinked:
SELECT EntityName, UsedByExternalEntity
FROM CATALOG.CONTRACT_ENTITIES
WHERE ServiceQualifiedName = 'CustomModule.App'
AND EntityName IN ('CreateDefinition', 'CreateDefinitionResponse',
'AdditionalArgumentsDefinition');
-- UsedByExternalEntity is empty for all three, even after CREATE OR MODIFY
The only entity correctly linked (UsedByExternalEntity populated) is the main entity set entity
(Definition), which has an EntitySet name in the contract. Action parameter/response entities have no
EntitySet and are never linked.
Steps to reproduce
CreateDefinition returning CreateDefinitionResponse).
Expected behavior
CREATE OR MODIFY EXTERNAL ENTITIES FROM should link action parameter and response entities to their
corresponding contract entries, resolving CE7252/CE7269 without requiring Studio Pro.
Alternatively, mxcli should expose a dedicated command (e.g. UPDATE EXTERNAL ACTION
CustomModule.App.CreateDefinition) that synchronizes the action's parameter and return-type
signature from the cached contract, equivalent to the "Update" right-click resolution in Studio Pro.
Actual behavior
The CE7252/CE7269 errors are not resolvable via any mxcli command. The only resolution requires opening Studio
Pro and manually clicking "Update" on the affected action.
Environment