I’m currently working on a workflow in IdentityNow that should send HTTP Post request to an external client’s endpoint.
When i test the request outside of the IDN it works fine but the problem with Workflows is you need to explicitly select HTTP Method from the values in the picklist as shown below:
This is where our problem occurs - our client’s endpoint uses a custom Content-Type - it is not “application/json” and from what they told us so far they can’t really modify this endpoint to accept standard “application/json” Content-Type
When sending request from a workflow - IDN seems to aways override Content-Type to the standard “application/json” even when i pass Content-Type into headers fields. It’s always - “NotSupportedException"”,"“message"”:""Unsupported content type. Please check ‘Content-Type’ request header".
IDN workflow just seems to lack the - custom HTTP method - option.
I tried editing workflow using Visual Studio Code and manually changing or deleting “requestContentType” value but it doesn’t work.
Do you have any ideas how we could approach this situation?
What Content-Type is the endpoint expecting and what type of data in the body are you trying to send? Content-Type will be dependent on the contents of your request body. It can be changed using this drop down if needed, but I think this selection could be overwritten based off the contents of the body in the payload or there would be an issue in sending a JSON payload, for example, with an XML body. I am not sure which one would take priority in this case for this operation, the type of data in the body or the selected content-type, but either way, it would either error or fail.
Additionally, I am not sure if you are expecting any response data but just to note the response data can only be supplied in JSON according to the Workflow documentation.
Unfortunately we realized that when you send request body in the form of JSON - workflow overrides Content-Type to “application/json” and there is no way to use custom Content-Type.
Our solution was convince our client to change their api endpoint to accept application/json and it seems to be working right now.