Default Save and Cancel button throws missing parameters error while in context

0
Hi there,   When configuring OIDC I can save the configuration, but if I cancel the configuration it throws the error below. When I add action button that executes a microflow, it getting the correct context/parameters, but standard Save & Cancel only get the parameters of the layout and not of data widgets on the page.   So there is a work around, but it's strange that default buttons are throwing errors or am I missing something?   Error message: com.mendix.webui.WebUIException: Exception while executing runtime operation    at com.mendix.webui.actions.client.RuntimeOperationAction.$anonfun$apply$3(RuntimeOperationAction.scala:62) Caused by: com.mendix.webui.WebUIException: Invalid value of a query parameter Objects    at com.mendix.webui.actions.client.QueryUtil$.$anonfun$parseParameters$3(QueryUtil.scala:35) Caused by: java.lang.AssertionError: assertion failed: Received MRDS.SwitchTheme while parameter should be one of these [OIDC.ClientConfigHelper,OIDC.ClientConfiguration,OIDC.ScopeSet,OIDC.ClaimSet,UserCommons.UserProvisioning]    at com.mendix.webui.actions.client.QueryUtil$.assertType(QueryUtil.scala:135)    at com.mendix.webui.actions.client.QueryUtil$.$anonfun$parseObjectsValue$3(QueryUtil.scala:104)    at com.mendix.webui.actions.client.QueryUtil$.$anonfun$parseObjectsValue$3$adapted(QueryUtil.scala:99)    at scala.collection.immutable.Vector.foreach(Vector.scala:2125)    at com.mendix.webui.actions.client.QueryUtil$.parseObjectsValue(QueryUtil.scala:99)    at com.mendix.webui.actions.client.QueryUtil$.parseParameter(QueryUtil.scala:57)  etc.   Thanks, Zef
asked
2 answers
1

Solution 1 (BEST PRACTICE – Recommended)

Replace default Save & Cancel with custom buttons

Do this:

  • Remove default Save / Cancel
  • Add Action Buttons:
    • Save → Microflow
    • Cancel → Microflow
  • Pass only the required entity

Solution 2 (Simplify page context)

If you must use default buttons:

  • Ensure ONLY ONE object is in page context
  • Avoid:
    • Nested data views with different entities
    • Layout parameters mixed with config entities

 Hard to maintain, not scalable.

Default Save & Cancel buttons are safe only for simple CRUD pages with a single entity.

The moment you have:

  • Multiple entities
  • Helper objects
  • Admin/configuration pages
  • OIDC / security / provisioning modules

Always use microflow-based buttons

Even Mendix internal modules follow this rule.

 Why this happens specifically with OIDC pages

OIDC pages usually contain:

  • Helper entities
  • Configuration objects
  • Nested associations
  • Security/session-related layout context

Default buttons are not context-aware enough for this complexity.

 

answered
1

Hi,

Thanks for the update, and I completely agree with your observation.

Since this is a platform-supported Marketplace module, it’s reasonable to expect the default Save & Cancel buttons to work out of the box without throwing runtime errors. From a functional perspective, your expectation is absolutely valid.

What seems to be happening here is not a configuration mistake on your end, but rather a platform limitation (or inconsistency) when default buttons are used on pages that:

  • Contain multiple data widgets / helper entities
  • Are rendered within layout pages that inject additional context objects
  • Rely on non-CRUD configuration flows (like OIDC)

In such scenarios, default Save/Cancel buttons attempt to process all page-level objects, including layout or helper context (e.g., theme or UI state objects), which leads to the parameter type mismatch you’re seeing.

Your workaround (custom Save/Cancel via microflows) is actually the recommended and more robust approach for configuration or admin pages, even though it shouldn’t be strictly necessary for a platform-supported module.

Raising this with Mendix Support is the right call.At the very least, this should be:

  • Documented as a known limitation, or
  • Addressed in a future platform/module update

Thanks for sharing the outcome — it’s useful feedback for others running into the same issue.

answered