The Call Assembly Node is a “wild card” activity, implemented as a .NET assembly call-out, that allows developers to build custom business logic into GlobalCapture Workflows. Use it to pause the Workflow process and hand control off to an external application (such as Microsoft SharePoint®) to pass data between the applications.
Configure the Call Assembly Node
- Drag a Call Assembly Node from the Nodes Pane to the Design Canvas.
- In the Assembly Node Settings dialog, enter a unique name and a description for the Node.
- To point to your DLL file for the assembly being loaded, enter a server relative path location in the Server Path text box.
- To temporarily merge documents during the the Call Assembly step, enable Merge Documents. This is enabled by default.
When a document is captured into a GlobalCapture Workflow, GlobalCapture breaks it into separate pages to facilitate multi-threaded processing. Multi-threading allows both pages of a two-page document to be processed simultaneously. If your Call Assembly process requires document accessibility, use Merge Documents to temporarily stitch together a copy of the pages. After this step, processing continues on the separate pages until the pages are finally stitched together at release.
- The Data Validation checkbox is enabled by default to enforce Data Type or Length settings for Fields. When it is unchecked, the batch will error in the Batch Manager, but the Node will still extract data and populate a Field, even if it is of invalid Data Type or Length. Errors will stack for every Field for which there is a data-settings mismatch. For more information, see the Data Validation page.
- Click Save.
Your application extension for the Call Assembly Node must meet the following requirements:
Assemblies are compiled as “Any CPU or x64,” as GlobalCapture is 64-bit only.
The assembly contains a method named “
RunCallAssembly.” This is the method that will be run by the Workflow Engine when the assembly is loaded.
The assembly accepts a
Dictionaryobject (string, string) and return a
Dictionaryobject (string, string). The returned object may be empty.
Example: Sample Code on Github
Sample source code is available on the Square 9 Github page. You can also contact your authorized Square 9 reseller to engage Professional Services to deploy call assemblies in Workflows.