Setting up non-prod + prod versions of Integration Service Connectors

In most of our automations, we call one of a number of apis for data. These APIs were created in Boomi. Our development was all new projects, so we initially set up those APIs to talk to the non-prod database, and when we were ready to go live we switched those APIs in boomi to use the production database.

What we’ve realized is that this has left us without a non-prod environment for our automations. Now we’re working on re-establishing the non-prod environment and I’m looking for some help as to how to make it relatively pain free.

The main issue is that I only see 2 ways to change a connector from pointing to one URL to a different URL:
1 Manually changing connectors in the automation code and redeploying
2 Using the HTTP Request version

Option 1 is not a great option, as it creates the potential for something to be missed and prod data being available in non-prod, or vice versa.

Option 2 is at least partially reasonable, but the deeper issue is that the response comes from it as a string of JSON rather than the strongly typed objects as it does from the normal connector. And the automations are already built using those.

Does anyone have any suggestions, or some examples of how they handled calling an API that had separate non-prod and prod endpoints?

Hi @ericlizotte

you can consider creating different connections for integration services in different tenants/environments.

@ericlizotte

Do you have different tenants?..if yes then use one url for each tenant

Also generally the base url is what changes the relative urls would remain same for all environments..if there is any specific part of url which contains like the id of instance pr so you can always use parameter {variable} and that parameter also will be exposed while usingn the activity and can be changed

Cheers

Hi @ericlizotte ,

For your Option 2: Using the HTTP Request version

Why don’t you try deserializing HTTP Responses to typed objects?

  • Try to deserialize the JSON string using the “Deserialize JSON” or “Deserialize JSON Array” activity, then map fields to your variables or objects.
  • Workflows expect typed objects? Then create a wrapper that deserializes and projects the values into expected .NET classes or DataTables.

Need help in deserializing ?

I hope this helps. Please try and let know your result.

Good day!