当前位置: 首页 > 知识库问答 >
问题:

使用新的retrieveMultipleRecords(客户端API引用)从fetchXml获取结果

蒋飞捷
2023-03-14
var request = "<fetch output-format='xml-platform' distinct='true' version='1.0' mapping='logical'>" +
"<entity name='msdyn_incidenttype'>" +
"<attribute name='msdyn_name'/>" +
"<attribute name='createdon'/>" +
"<attribute name='msdyn_estimatedduration'/>" +
"<attribute name='msdyn_incidenttypeid'/>" +
"<order attribute='msdyn_name' descending='false'/>" +
"<link-entity name='product' link-type='inner' alias='ag' from='productid' to='aka_productfamilyid'>" +
"<link-entity name='msdyn_customerasset' link-type='inner' alias='ah' from='msdyn_product' to='productid'>" +
"<filter type='and'>" +
"<condition attribute='msdyn_customerassetid' operator='eq' uiname='' uitype='msdyn_customerasset' value='${custAssetId}'/>" +
"</filter>" +
"</link-entity>" +
"</link-entity>" +
"</entity>" +
"</fetch>";

我将上面的fetchXml与新的客户端api引用一起使用,如下所示:

var results = Xrm.WebApi.retrieveMultipleRecords("msdyn_incidenttype",request).then(
  function success(result) {
      for (var i = 0; i < result.entities.length; i++) {
          console.log(result.entities[i]);
      }
      console.log("Next page link: " + result.nextLink);
      // perform additional operations on retrieved records
  },
  function (error) {
      console.log(error.message);
      // handle error conditions
  }

我阅读的文档(https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/clientapi/reference/xrm-webapi/retrievemultipleRecords)指出,第二个参数是options,如果是fetchXml(就像我现在使用的那样),则在其中指定它。然而,我在控制台中收到以下错误:

HTTP400:错误请求-由于语法无效,服务器无法处理请求。(XHR)get-https://dev.crm.dynamics.com/api/data/v9.0/msdyn_incidenttypes?fetch output-format='xml-platform'distinct='true'version='1.0'mapping='logic'>实体名称='msdyn_incidenttype'>属性名称='msdyn_incidenttype'>属性名称='msdyn_name'/>属性名称='msdyn_name'/>属性名称='msdyn_incidenttypeid'/>属性名称tid'to='aka_productfamilyid'>link-entity name='msdyn_customerasset'link-type='inner'alias='ah'from='msdyn_product'to='productid'>筛选器type='和'>条件attribute='msdyn_customerassetid'operator='eq'uiname='uitype='msdyn_customerasset'值='${custAssetId}

我是不是漏掉了什么?

共有1个答案

糜博远
2023-03-14

您应该在前面添加“?fetchxml=”,如下所示:

Xrm.WebApi.retrieveMultipleRecords("msdyn_incidenttype", "?fetchXml= " + request).then(
                function success(result) {
                    return result;
                },
                function (error) {
                    console.log("failed with error: ", error);
                    return null;
                }
            );

选项
OData系统查询选项或FetchXML查询来检索数据。

>

  • 支持以下系统查询选项:$select、$top、$filter、$expand和$orderby。

  •  类似资料:
    • 问题内容: 我在RIAK上存储Person POJO(4个字符串字段-id,name,lastUpdate,Data),然后尝试使用MapReduce提取这些对象。 我正在做的非常类似于Basho文档: Person的String构造函数被调用: (我必须具有此构造函数,否则会因缺少异常而得到异常)。在那里,我将对象作为字符串获得-一个字符串中的对象字段具有一个奇怪的定界符。 为什么我没有将对象自

    • 问题内容: 我需要知道客户的IP地址,这是我的鳕鱼 处理程序: 结果: 为什么我无法获得真正的客户IP? 问题答案: 通常,您可以用来获取正在访问Web应用程序的客户端的IP地址。但是,如果用户位于代理服务器后面或通过负载均衡器访问您的Web服务器(例如,在云托管中),则上述代码段将获取代理服务器或负载均衡器服务器的IP地址,而不是原始IP地址客户。 因此,您应该获得请求的HTTP标头“ X-Fo

    • 我正在为Kubernetes使用fabric8 java客户端库。我无法找到对容器执行更新操作的最佳方法。基本上,我想做的是,我已经创建了一个容器映像为“nginx”的pod,现在我想更新这个映像为“nginx:1.16.1”。 我想做的是

    • 客户端 API 使用说明 SOFALookout 客户端设计上保持了 API 与实现解耦。如果我们只需要基于 SOFALookout API 进行埋点,那么只需要依赖 API 包即可。在没有依赖具体实现模块依赖时(比如 client 依赖 或 SOFABoot(Spring Boot)Start 依赖),API 包会自动使用 NoopRegistry,使得所有埋点的地方都已空实现替代。 1.API

    • 我正在使用GoogleSignIn pod中的此代码从IOS应用程序请求访问用户数据 然后,我在应用代理中接收访问令牌和刷新令牌,并将其发送到运行PHP并使用此google客户端库(https://github.com/googleapis/google-api-php-client)的服务器...第一个小时一切正常,访问令牌有效,允许我访问所有范围。然后一个小时后,访问令牌过期,我尝试使用此代码

    • 问题内容: 我想获取使用我网站的客户IP地址。我正在使用PHP superglobal: 但是我看到它不能使用此提供正确的IP地址。我得到了我的IP地址,发现它与我的IP地址不同,并且我还可以在某些网站上看到我的IP地址,例如: 我粘贴了提供PHP功能的IP地址,但是此网站未显示任何结果。这个问题是怎么发生的,如何获得客户端的IP地址? 问题答案: 获取访问者/客户的IP地址的最简单方法是使用或变