OData V4的ODataLib是否支持请求中的Atom有效负载?

时间:2014-09-05 20:30:41

标签: odata atom-feed odatalib

我正在尝试将ODataLib用于OData协议V4(Microsoft.OData.Core)以Atom格式生成有效负载。我确保Content-Type和Accept标头引用application / atom + xml,但是对CreateODataEntryWriter的调用总是会导致异常:

  

Microsoft.OData.Core.ODataContentTypeException:支持的MIME类型   找不到匹配的可接受的MIME类型   请求。支持的类型   “应用程序/ JSON; odata.metadata =最小; odata.streaming = TRUE; IEEE754Compatible =假,   应用/ JSON; odata.metadata =最小; odata.streaming = TRUE; IEEE754Compatible =真,   应用/ JSON; odata.metadata =最小; odata.streaming =真,   应用/ JSON; odata.metadata =最小; odata.streaming = FALSE; IEEE754Compatible =假,   应用/ JSON; odata.metadata =最小; odata.streaming = FALSE; IEEE754Compatible =真,   应用/ JSON; odata.metadata =最小; odata.streaming =假,   应用/ JSON; odata.metadata =最小; IEEE754Compatible =假,   应用/ JSON; odata.metadata =最小; IEEE754Compatible =真,   应用/ JSON; odata.metadata =最小,   应用/ JSON; odata.metadata =满; odata.streaming = TRUE; IEEE754Compatible =假,   应用/ JSON; odata.metadata =满; odata.streaming = TRUE; IEEE754Compatible =真,   应用/ JSON; odata.metadata =满; odata.streaming =真,   应用/ JSON; odata.metadata =满; odata.streaming = FALSE; IEEE754Compatible =假,   应用程序/ JSON; odata.metadata =满; odata.streaming = FALSE; IEEE754Compatib ......”   不匹配任何可接受的MIME类型'application / atom + xml'。

以下是导致异常的示例代码:

    var writerSettings = new ODataMessageWriterSettings();
    writerSettings.SetContentType(ODataFormat.Atom);
    var messageWriter = new ODataMessageWriter(request, writerSettings, model);
    var entryWriter = messageWriter.CreateODataEntryWriter();

我检查了库代码,发现ODataMessageWriterSettings有一个属性EnableAtom,但是这个属性被声明为内部,它似乎不是从库内部设置的,所以它看起来总是假的。我知道Atom格式在OData V4中已经过时了,它是否支持入口有效负载生成?

1 个答案:

答案 0 :(得分:1)

自DataLib 6.3.0发布以来,ATOM被禁用,请参阅release note。 实际上,您可以使用ODataLib 6.3之前的版本来生成ATOM有效负载,但V4中的新功能可能不会得到很好的支持。