Skip to main content
Blog

Test System flow during Development by Indicium API

Test System flow during Development by Indicium API
Mark Jongeling
Administrator
Forum|alt.badge.img+23

Hi everyone!,

Often we hear developers wanting to test their system flows but not knowing what is an effective and quick way of doing so. This blog will help you out!

To test System flows, we can make use of Indicium's Process flow API as described here: https://docs.thinkwisesoftware.com/docs/indicium/process_flows.html

Since Indicium requires a POST request, some extra tooling is needed to send such a request. We commonly use either Insomnia or Postman, but alternatives are available online. For this blog, I'll use Insomnia.

Creating a System flow

Start of making or determining a system flow you would want to test.

System flow

For my example, I kept it very simple. The Decision process action will run a process procedure to create a new record to the system_flow_table in my database.

Design
Control procedure

Using Insomnia

Insomnia is a powerful app what can do a lot, but for this example we'll create a new POST request.

Start off by right clicking in the left panel (or use the shortcut Ctrl+N to make a New request):

New request (1/2)

Fill in a name, for example the system flow's name and select POST from the dropdown menu. Like specified in the Docs, no body is needed:

New request (2/2)

For the request URL, form the URL as follows:

https://[servername]/[indicium]/sf/[gui_appl_id]/[system_flow]

Replace the parts with brackets with the correct values. My personal example request is shown later on. The gui_appl_id is the Application id of the Runtime configuration, you can also use an Application alias for it instead. Simply replace the [gui_appl_id] part with the Application alias.

A process flow can be started by sending a POST request without a body to the process flow's endpoint

Make sure you authenticate your request as you'll need to have authorization to do this request. Select Basic auth from the dropdown menu. Using Basic authentication is sufficient.

Basic authentication

You now are set to fire away the request to Indicium. Press Send to send the request.

If you see the HTTP status code 204, that means your System flow has run successfully!:

204 (No Content) = Successful

The result after the system flow execution:

Record is created

This is a quick way of testing out your created System flows. Be aware that system flows can fail and this method of testing does not give a good debugging result by itself. You can consult the Indicium log to see if anything went wrong during testing. And in addition to that, adding debug lines of code to your process procedures to find out and make sure the system flow runs as intended.

Did this topic help you find an answer to your question?

6 replies

Hugo Nienhuis
Superhero
Forum|alt.badge.img+12

Hi Mark,

 

I tested this and after creating a system flow and calling the url I received following message:

 

Cannot start process flow 'test_api' on this endpoint, because it's configured as a message protocol independent process flow in the Software Factory. Try the /open/sf/cf_web_dev/test endpoint instead.

That was helpfull and the flow did run when I changed the url. But can you explain the message and the need/cause for the addition /open/ in the url?

 

Hugo


Mark Jongeling
Administrator
Forum|alt.badge.img+23
  • Author
  • Administrator
  • 3927 replies
  • December 30, 2021
Hugo Nienhuis wrote:

Hi Mark,

 

I tested this and after creating a system flow and calling the url I received following message:

 

Cannot start process flow 'test_api' on this endpoint, because it's configured as a message protocol independent process flow in the Software Factory. Try the /open/sf/cf_web_dev/test endpoint instead.

That was helpfull and the flow did run when I changed the url. But can you explain the message and the need/cause for the addition /open/ in the url?

 

Hugo

Hi Hugo,

According to the Docs, Indicium will create a special endpoint for this process flow to be called: Process flows | Thinkwise Documentation (thinkwisesoftware.com)

The first segment of the endpoint is /open because it is a special endpoint, entirely separate from Indicium's regular OData endpoints.


Forum|alt.badge.img+13
  • Hero
  • 142 replies
  • April 30, 2025

Is the URL for Indicium on Linux the same as it is on Windows? Because I've tried calling http://linux_server/indicium_ont/sf/ont/systemflow and I get a 404 not found. The url http://windows_server/indicium_ont/sf/ont/systemflow works and starts the flow. Both Indiciums are connected with the same software factory database and both are reachable in the browser.


Forum|alt.badge.img+1

Hey Roland,

The real answer to your question, annoyingly, is that it depends entirely on the infrastructure setup.

Your indicating that you can reach both through the browser though so in this case, yeah, they might be/probably are the same?

Have a look at Indicium OData API | docs.thinkwisesoftware.com .

You should be adding the “sf/ont/systemflow” part in your example to the “root/base URL” of Indicium. And whatever that root URL is can better be answered by whoever installed/hosted that Indicium on Linux for you.


Forum|alt.badge.img+13
  • Hero
  • 142 replies
  • April 30, 2025

Hi Tim,

In our case the base URL is quite simply always the local machine name.

I can see in the Indicium log that it succesfully connects to the IAM of SF (to read license information). I can also log into Indicium via the browser and open the flow monitor for example. So I know the base URL is correct and that Indicium is running OK. So if the path (/sf/ont/systemflow) after the base URL is the same for all Indiciums connected to the same SF regardless of the platform they each run on and API calls to Indicium on the Windows machine work OK then I don't understand the “404 not found” answer from the instance on Linux.

The “ont” part in the URL is the alias of the runtime configuration of our end-product as configured in SF. When I try the Universal GUI with http://linux_server/indicium_ont/iam/sf as the meta server URL and “ont” as the application I get a "This application is not available” error message on the logon page. Something seems to be going wrong here but I can't really figure out what exactly. The exact same meta server URL but with the Windows machine as the base (so again the original Indicium instance on the Windows machine connected to the same SF) works OK.


Mark Jongeling
Administrator
Forum|alt.badge.img+23

Hi Roland, can you create a TCP ticket for this? We need to look into this more throroughly. Thanks!


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings