while hitting a url and trace it from trace session I am getting 404 not found error.

while hiting a url and trace it from trace session I am getting 404 not found error. And most of the proxies are skipped and i am not getting any response in response body from postman,I m getting blank value in postman..........?

7362-trace.png

7363-post-man.png

0 4 684
4 REPLIES 4

Can anyone please help on this

Did you check the request call? Is it correct?

What is the expected output?

When you make a call directly using Postman or any Rest client are you getting the correct reposne?

It's not possible to know what's happened, with the information you have provided.

But my guess is that the backend system affirmatively responded with a 404.

In the information and screenshots you provided, I see concrete evidence for this:

  • A client (postman) sent a request
  • it was received and handled by Apigee edge. The trace shows this.
  • Apigee Edge sent back a 404 to the client.

The only mystery is, where did the 404 come from? Is Apigee itself generating the 404? Or is the 404 coming from the backend? In this latter case, the Apigee Edge proxy would merely be relaying the 404 response to the original client. (That's what proxies do)

I suspect the 404 is coming from the backend.

If Apigee Edge is generating the 404 response code, you would probably know about it. It would be an AssignMessage policy or similar, explicitly setting the status code to 404.

If the backend is generating the 404 response code, then Apigee Edge receives it, and then sends it back to the client. In this case you need to diagnose the problem with the backend service.

What would conclusively tell us, whether the 404 originates from Apigee Edge or from the backend, is a complete view of the Trace UI, without clipping the right-hand side. The right hand side of the UI would show a target returning the 404 status code.

BUT, rather than giving us this information, I suggest that you can explore it yourself. We don't need to see it. You can look at it. Look at it yourself.

Use the Trace UI, click the Next button on the flow to follow the call through the various steps. Of special interest is what gets sent to the backend, and what is received. As you click through the Next button, eventually you will find the stage that sets the 404 status code. It could be the target, or it could be a policy. But whichever, there's your answer.

It seems odd that you'd be using an Apigee Edge proxy to generate an access token via authorization code grant, and also connecting to a backend system, for the same API call. That's unusual. Not wrong, but improbable. Make sure your proxy is configured correctly.


Also, BTW, you said "most of the proxies are skipped". According to the Trace UI, it is the POLICIES that are skipped, not proxies. The trace UI shows a transaction flowing through a single proxy, with many policies. a Proxy may skip execution of policies by design; it may be purposeful. It's possible, likely even, that those policies are wrapped in conditions that apply to only some subset of inbound requests. This is typical.

Thank you very much for your explanation. I will check if there is any problem with the backend service.

And yes it should be most of the POLICIES are skipped not proxies. Its my mistake.

Thanks again