The OData media type formatter says it handles app/xml, app/atom+xml andapp/json;odata=verbose. However, it doesn't always support these content types. For example, for a feed, it only supports atom and JSON. The following are concrete cases where this design causes problems. (Both cases assume the ODataMediaTypeFormatter is registered first).
1. A client asks for an entity in XML format (Accept: application/xml). The OData formatter says it supports that type in that format, but actually it doesn't. It returns the entity in Atom format. There's no way for the client to get the entity in plain XML format.
2. A customer wants to provide a JSON representation of metadata (separate formatter for Accept: application/json). The OData formatter says it supports that type in that format, but actually it doesn't. It returns the metadata in XML format. There's no way for the customer to add a formatter to support JSON metadata.
1. A client asks for an entity in XML format (Accept: application/xml). The OData formatter says it supports that type in that format, but actually it doesn't. It returns the entity in Atom format. There's no way for the client to get the entity in plain XML format.
2. A customer wants to provide a JSON representation of metadata (separate formatter for Accept: application/json). The OData formatter says it supports that type in that format, but actually it doesn't. It returns the metadata in XML format. There's no way for the customer to add a formatter to support JSON metadata.