0

我一直在使用此链接作为参考,了解如何通过使用 javascript 调用 CRM Web 服务来执行基本的 CRUD 操作。

该链接包含一个示例,该示例显示了如何对帐户实体执行 CRUD 操作。在此示例中调用 XMLHttpRequest 对象的 open 函数时,第二个参数设置为特定于帐户实体的内容。

这是一个例子:

createAccountReq.open("POST", ODataPath + "/AccountSet", true);

我没有看到关于应该为其他 OOB 实体或自定义实体设置的这部分 URL 的参考。

有人能指出我正确的方向吗?我假设此信息在 SDK 中,但我似乎无法找到它。

4

2 回答 2

2

这应该可以帮助您了解检索操作的样子:http ://crm2011odatatool.codeplex.com/

一旦您有机会尝试使用它,那么使用不同实体所需要做的就是更改 Set 名称和属性名称。需要注意的一件重要事情是,您应该使用实体和属性的模式名称,而不是逻辑名称。逻辑名称总是全部小写,模式名称可以全部小写但通常有大写字母。当您使用上面的 odata 工具时,您应该很容易看到这一点。

最后,此页面与您的链接相似,但略有不同。确保单击 JScript 代码部分。

于 2011-04-26T23:40:53.280 回答
1

当您访问根 URL 时,Web 服务遵循枚举所有可用资源的标准 OData 模式。CRM 返回所有可能实体的 XML 列表。然后,您可以将任何这些实体集附加到 URL 以查询实体。

例如,访问https://<CRM Server>/XRMServices/2011/OrganizationData.svc/会给你类似的东西:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<service xml:base="https://<CRM Server>/XRMServices/2011/OrganizationData.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
  <workspace>
    <atom:title>Default</atom:title>
    <collection href="SdkMessageRequestFieldSet">
      <atom:title>SdkMessageRequestFieldSet</atom:title>
    </collection>
    <collection href="ListMemberSet">
      <atom:title>ListMemberSet</atom:title>
    </collection>
    <collection href="ContactQuotesSet">
      <atom:title>ContactQuotesSet</atom:title>
    </collection>
    ...

编辑:如果您想检索有关实体本身的元数据,请查看题为“使用 JScript 检索实体元数据” 的 MSDN 文章。它提到了包含在 SDK 中的 JavaScript 库,它允许您向组织元数据服务发送 SOAP 请求以检索所有实体详细信息,例如 LogicalName 和 DisplayName。

于 2011-04-26T23:41:58.593 回答