Close

Error handling in API Management

I’m having an issue in API Management. The problem is that I only get a 500 Internal Server Error. Question is: Do I use the correct backend Url? Can I get a more elaborate error description? The answer is: Yes. I found an excellent document on the Azure website: Check it out. Here you can read that you can add an on-error scope in your policy editor. In the on-error policy, you can add eventhub logging or return a reponse with more detailed information. In order to get detail information you need to know about policy expressions and especially the context object. An excellent link can be found here: Check it out. Here is the on-error section of my policy expression:

<policies>
<inbound>
</inbound>
<backend>
<forward-request follow-redirects=”false” />
</backend>
<outbound>
</outbound>
<on-error>
<log-to-eventhub logger-id=”loghuapimtest” partition-id=”0″>
@(string.Join(“;”, DateTime.UtcNow.ToString(“dd-MM-yyyy hh:mm:ss.FFF”),
“ApimUrl”, context.Request.OriginalUrl, “BackendUrl”, context.Request.Url,
“ErrorMsg”, context.LastError.Message, “ErrorScope”, context.LastError.Scope, “ErrorSection”, context.LastError.Section))
</log-to-eventhub>
<return-response>
<set-status code=”500″ reason=”API Management Error” />
<set-body>
@{ string inBody = context.LastError.Message;
inBody = inBody + ” (” + context.LastError.Reason + “)”;
inBody = inBody + “\n” + “APIM Url: ” + context.Request.OriginalUrl;
inBody = inBody + “\n” + “Backend Url: ” + context.Request.Url;
return inBody; }
</set-body>
</return-response>
</on-error>
</policies>

Now I’m getting a response in the Developer Portal that makes sense:

Unable to connect to the remote server (BackendConnectionFailure)
APIM Url: https://huapimtest.azure-api.net/course/v1/courseresults/1190934?pageSize=10&pageNumber=1&hu_CollegeYear=2016
Backend Url: http://tst.api.hu.nl:8092/v1/courseresults/1190934?pageSize=10&pageNumber=1&hu_CollegeYear=2016

1 thought on “Error handling in API Management

  1. I love visiting your content for the reason that you often give us huge posts about computers and technology. exceptional writeup humbling Job once again. I plan to put this internet site in my favorites list. I think I shall subscribe to the blog feed also
    nfl for sale https://nfl.unilorites.com

Comments are closed.