Search code examples
odatafiddler

Fiddler not displaying OData Http requests where method is PATCH/MERGE, DELETE


I am working on a Win8 Store app with an MVC Web Api OData v4 server.

I have set up a Win 8 unit test client project to debug OData Http requests to the OData server and I am using Fiddler v4.4.9.3 to monitor the Http traffic. Server and Client are both running on the local machine and the client service uri is set to localhost.fiddler:xxxx

I am able to see all the GET and POST requests in the Fiddler web sessions but PATCH/MERGE and DELETE requests from the client do not appear! (They are definitely present because they server controller methods execute.)

However, when I create and execute PATCH/MERGE and DELETE requests in the Fiddler composer they do appear in the web sessions.

I have checked for filters, rules, scripts, un-installed and re-installed Fiddler, followed the advice at Fiddler not displaying sessions etc but to no avail.

Does anyone know what the problem might be?


Solution

  • This is expected if you are using the OData client library. When you try to update/delete an entity from client, the client loads the URLs from the payload you previously retrieved. Those URLs don't have ".fiddler" in it, and Fiddler can't capture them.

    For example, you want to update a Product object. Normally you have to first query the object. In the object there's an Edit link stored some way. The edit link is a URL (which doesn't have ".fiddler" of course). Later when you try to update the product object, the client sends PUT/PATCH requests to the edit link.