Home > database >  C# How to get exact error message from Logic App triggered by HttpRequest instead of default error m
C# How to get exact error message from Logic App triggered by HttpRequest instead of default error m

Time:04-21

I have a simple console application and it calls a Logic App by HttpRequest.

When the Logic App fails at any step I want to get exact the error message saying why it fails.

In the Logic App I can see the error.

Example: in the image, it fails at step 2 which it can't convert a string into an int. It's saying:

InvalidTemplate. Unable to process template language expressions in action 'Parse_JSON' inputs at line '0' and column '0': 'Required property 'content' expects a value but got null. Path ''.'.

which is what's I expect.

enter image description here

Here is my Logic App design:

enter image description here

But when I debug in a console application, it gives me a message "The server did not receive a response from an upstream server. Request tracking id 'some random Ids'." which is not very useful.

Here is my console application:

var obj = new
        {
            Age = "Twenty",
            Name = "James"
        };
        using (var client = new HttpClient())
        {
            var content = new StringContent(JsonConvert.SerializeObject(obj));
            content.Headers.ContentType.MediaType = "application/json";
            var response = await client.PostAsync(url, content);
            var errorMessage = await response.Content.ReadAsStringAsync();
            //errorMessage: {"error":{"code":"NoResponse","message":"The server did not receive a response from an upstream server. Request tracking id 'some random Ids'."}}
        }

So is there anyway to make the C# response return the error message in the step 2 of the Logic App?

What I expect is:

InvalidTemplate. Unable to process template language expressions in action 'Parse_JSON' inputs at line '0' and column '0': 'Required property 'content' expects a value but got null. Path ''.'.

Not:

{"error":{"code":"NoResponse","message":"The server did not receive a response from an upstream server. Request tracking id 'some random Ids'."}}

Thank you in advanced.

CodePudding user response:

You can use actions('<Your_Previous_Step>')['error'] in your case actions('Parse_JSON')['error'] doing so you can able to retrieve the error message of that particular action.

Here is my logic app

enter image description here

I'm testing this through postman. Below is the response I received in postman.

enter image description here

Make sure you set Configure run after options to make the flow work even after it gets failed.

enter image description here

  • Related