如何从crm 2011 IFD的OData服务中检索记录

时间:2013-05-02 15:00:19

标签: c# silverlight dynamics-crm-2011

我有以下代码。

var ctx = new XrmContext(new Uri(serviceUrl));
ctx.Credentials = new NetworkCredential("username", "password", "domain");
ctx.AccountSet.First();

Silverlight版本是(在fiddler我们这里有相同的结果)

var ctx = new AdzzContext(new Uri(serviceUri));

ctx.HttpStack = System.Data.Services.Client.HttpStack.ClientHttp;
ctx.UseDefaultCredentials = false;
ctx.Credentials = new NetworkCredential("username", "password", "admin");

var query = ctx.AccountSet;

var async = new DataServiceCollection<Account>();
async.LoadCompleted += async_LoadCompleted;
async.LoadAsync(query);

是什么让我失误。

  

响应有效负载不是有效的响应有效负载。请做出来   确保顶级元素是有效的Atom元素或属于   'http://schemas.microsoft.com/ado/2007/08/dataservices'命名空间。

当我看到fiddler时,我看到了重定向到adfs服务器 Redirect

我看到了这个link,但它适用于CRM 4,而在OData的上下文中我无法放置令牌。

我的目标是这样,

为业务逻辑(BL)创建Silverlight库 - 所以我可以在我的计算机上轻松调试它 - 它将在CRM环境中完美运行,

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要生成早期绑定类(使用crmsvcutil.exe)并指定ServiceContextName参数。

假设您的上下文为XrmContext,则需要以这种方式实例化:

var context = new XrmContext(service);

其中serviceIOrganizationService网络服务。

您无需指定凭据,因为在实例化OrganizationServiceProxy

时会处理连接凭据

示例代码:http://nishantrana.wordpress.com/2010/11/03/sample-code-for-using-iorganizationservice-in-crm-2011/