Quantcast
Channel: ASPNETWebStack Issue Tracker Rss Feed
Viewing all articles
Browse latest Browse all 7215

Commented Issue: ASP.NET Web API OData does not work with Excel [820]

$
0
0
Excel expects an XML service doc, but it doesn't send any Accept header. By default ASP.NET Web API OData sends back a JSON service doc when no Accept header is specified. As a result you cannot consume a default ASP.NET Web API OData service using Excel.

We should switch our default format for service documents to be XML.
Comments: This message handler worked for me. It specifically deals with PowerPivot but could be made more generic for your needs: ``` public class MissingAcceptHeaderHandler : DelegatingHandler { protected async override Task<HttpResponseMessage> SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) { if (request.Headers.Accept.Count == 0) { if (request.Headers.UserAgent.Any(ua => ua.Product != null && ua.Product.Name == "PowerPivot")) { request.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/atom+xml")); } } var response = await base.SendAsync(request, cancellationToken); return response; } } ```

Viewing all articles
Browse latest Browse all 7215

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>