Solved

Dynamically call different WorkspaceReceive connectors

  • 26 January 2024
  • 1 reply
  • 51 views

Userlevel 5
Badge +1

I have Workspaces A, B and S

Workspace S (for ‘shared’) is a sort of utility or library workspace.

My plan is for Workspaces A & B to set a message header e.g. _message.header:callingFlow in Event:BeforeSend and then use WorkspaceSend to call the WorkspaceReceive in S.

 

S then needs to respond back to the correct calling Workspace.

Can a WorkspaceSend in S dynamically call WorkspaceReceive in A or B based on  _message.header:callingFlow ?

Or do I need use maintain a series of Branches (we could have many more calling workspaces in the future)

icon

Best answer by Arturo S 1 February 2024, 21:08

View original

1 reply

Userlevel 1
Badge

Hi Russell,

The Branch connector method that you are likely envisioning would be the ideal solution for this use case. The Workspace Send connector does not support dynamically setting the workspace and connector it will send to.

The headers from your files in one workspace will persist when sent to another workspace through the Workspace Send connector. These header values on files received in your Workspace Receive connector can then be parsed by a Branch connector that will route them to the appropriately configured Workspace Send connector in your ‘S’ workspace.

If you are using Arc 2023 with its updated Branch connector, you should be able to handle all of the routing from a single Branch connector, since the updated Branch connector supports any n number of conditions and outputs for you to check the header value against: https://cdn.cdata.com/help/AZJ/mft/Branch.html

However, if you are on an earlier build of the application you will need to cascade the Branch connectors (use them in series): https://cdn.cdata.com/help/AZH/mft/Branch.html#cascading

Reply