"无法识别OData协议版本"使用Simple.OData.Client从CRM 2011查询时出现异常

时间:2015-04-17 05:14:59

标签: c# dynamics-crm-2011 odata

我正在尝试使用Simple.OData.Client库从CRM 2011实例中提取一些数据,我似乎得到了这个例外:

  

AggregateException:发生了一个或多个错误。

内部异常:

  

无法识别OData协议版本。

我的代码:

private async Task<IEnumerable<IDictionary<string, object>>> GetData()
    {
        try
        {
            ODataClientSettings clientSettings = new ODataClientSettings();
            clientSettings.Credentials = new NetworkCredential("user", "pass", "domain");
            clientSettings.UrlBase = "https://foo.bar.net/XRMServices/2011/organizationdata.svc";
            clientSettings.PayloadFormat = ODataPayloadFormat.Atom;

            ODataClient client = new ODataClient(clientSettings);

            var result = await client.For("valid_collection_name").Top(10).Select("valid_column_name").FindEntriesAsync();

            return result;
        }
        catch (Exception ex)
        {
            // do something here
        }
    }

在Android Xamarin中复制此代码,结果相同。

有什么想法吗?完全被难住了。

非常感谢提前。

1 个答案:

答案 0 :(得分:2)

CRM 2011中的OData端点仅适用于WebResources(在CRM中使用),不适用于外部客户端。