We are using a POST integration to an external system. When calling the integration from the integration object, its working fine and giving success response. But when we are calling the same integration from the process model using call integration smart service, its getting timed out. The time out has configured to be 20 seconds. When checking from integration object, its taking around 7 seconds for giving sucess response.Only inside process model its getting timed out. Can anyone help on this?
Discussion posts and replies are publicly visible
Not without any details.
My first question would be: "Do you use the exact same parameters when testing and in the process?"
Yep. They are the same. It has 2 parameters which are embedded into the headers of the end point. While testing from the integration, I am using the json body directly in rule input. While trying from process model, I am using an expression rule to construct the json and having it converted into json using a!tojson inside the expression. Then I am storing it in a pv and passing that pv as rule input into the integration object.
This is a bit confusing ... and I see quite a few spots for making mistakes.
Did you try to enable HTTP logging in the integration and check the log files to see what is going on?
We dont have that option enabled in our environment.
This is an example json which we will get it from the expression rule. I am a little skeptical on these [] braces since appian does not accept these. Will these be the reason for causing such error?
{ "firstName":"", "lastName":"", "address":[] }
In JSON, angular brackets indicate a list. In Appian, we use curly brackets for lists. The functions toJson() and fromJson() convert to/from JSON to Appian.
I am not sure why you create JSON text in an expression, store it to a PV, and forward it into the integration to define the body. I suggest to create a map using a!map() instead. Pass it to the PV and the integration and let Appian automatically convert it into JSON when calling the API.
Only use JSON only to talk to the outside world, and convert to/from Appian maps directly at the borders.
Yeah will try that Stefanthanks for the info