首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用涉及数字值筛选的自定义FetchXml查询?

如何使用涉及数字值筛选的自定义FetchXml查询?
EN

Stack Overflow用户
提问于 2016-11-29 23:20:29
回答 2查看 1.3K关注 0票数 5

我正在尝试使用WEB / API /data/v8.x执行获取XML。除了包含“其中一个属性包含数字值”的查询之外,一切都很好。例如,以下要查找具有电话号码的帐户的fetchXML包含“03”:

代码语言:javascript
复制
<fetch mapping="logical">
  <entity name="account">
    <attribute name="name" />
    <attribute name="telephone1" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition attribute="telephone1" operator="like" value="%03%" />
    </filter>
  </entity>
</fetch>

当我们通过GET on WEB运行它时:

代码语言:javascript
复制
https://CRM_URL/api/data/v8.0/accounts?fetchXml=<fetch%20mapping%3D"logical"><entity%20name%3D"account"><attribute%20name%3D"name"%20%2F><attribute%20name%3D"telephone1"%20%2F><order%20attribute%3D"name"%20descending%3D"false"%20%2F><filter%20type%3D"and"><condition%20attribute%3D"telephone1"%20operator%3D"like"%20value%3D"%2503%25"%20%2F><%2Ffilter><%2Fentity><%2Ffetch>

CRM返回无效的XML错误如下所示:

{“错误”:{“代码”:“”,“消息”:“无效XML”,“内部错误”:{“消息”:“无效XML.","type":"System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,Version=8.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35]}

如果筛选值不以数字开头,或者我删除筛选值上的'%‘,则查询运行正常。我的结论是,这与我的筛选值中的"% +数字“编码和解码有关。

我的查询有什么问题吗?还是这个错误?附近有工作吗?

EN

回答 2

Stack Overflow用户

发布于 2017-05-09 05:07:05

在这里,Dynamic365在内部解码FetchXML查询字符串两次。工程队被告知了这个问题。他们将在即将发布的版本中以及可能在最新的公开发行版中提供修复。在此之前,您可以尝试对查询字符串进行两次编码,或者将编码后的所有%字符替换为%25。例如,可以将字符串value%3D"%2503%25"替换为value%3D"%252503%2525"。请注意,一旦修复可用,建议的解决办法将不再起作用。

票数 4
EN

Stack Overflow用户

发布于 2016-12-05 13:15:26

不知道为什么它不能工作,但您可以使用过滤器获得一个电话号码,其中包含3号。

代码语言:javascript
复制
cc_WebAPI_ServiceURI/accounts?$filter=contains(telephone1,'3')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40877586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档