Issue with BpmCallContext in REST API

Still doesn’t preclude having it be in the body instead of the header.

This is a breaking change from before rest.

Here are a few ways to skin this cat:

  1. Use JSON to send your data in a character field in the queryResultDataSet
  2. Use a separate query to define a dataset and send it in rows in the queryResultDataSet.
  3. If you have functions, design one of those.

Finally an unorthodox way:
4. Use a custom action and send all your data in the ActonID with JSON.
Fun with BAQ Custom Actions

You could also use the variables in FieldUpdate/FieldValidate

I’m going to go with technical debt that now has to be paid. We’re starting to see cases of workarounds with WCF using large amounts of header data in addition to the original transaction bombing under REST. BPMContext was not meant for large data transfers even though WCF supported it. Once Epicor Functions appeared in 10.2.500, the need for this workaround is no longer needed.

I would recommend passing the data to an Epicor Function (Kevin’s #3 solution above). This will also work when you upgrade to Kinetic in the future. It’s a cleaner solution as it separates out the responsibilities and makes your BPM less complex.

1 Like