Soap 如何获取>;从Dynamics 365按ID划分的130个实体?

Soap 如何获取>;从Dynamics 365按ID划分的130个实体?,soap,dynamics-crm,dynamics-crm-webapi,Soap,Dynamics Crm,Dynamics Crm Webapi,我有一个实体ID列表,需要从Dynamics中提取到我的应用程序中。使用WebAPI,查询必须是URL编码的,并作为GET请求传递,该请求将实体数限制在大约130个(超过URL长度限制) 以前,我们可以使用SOAP端点发出单个POST请求,但这是在弃用路径上 那么,现在建议用什么方式进行这样的查询呢 一些选择: 手动分页并运行WebAPI以生成并行请求。这并不理想,尤其是在对动态进行抽象时,因为请求可能会失败 更新 多亏了@Guido Preite,我才能够使用WebAPI。基本上,您使用1

我有一个实体ID列表,需要从Dynamics中提取到我的应用程序中。使用WebAPI,查询必须是URL编码的,并作为GET请求传递,该请求将实体数限制在大约130个(超过URL长度限制)

以前,我们可以使用SOAP端点发出单个POST请求,但这是在弃用路径上

那么,现在建议用什么方式进行这样的查询呢

一些选择:

  • 手动分页并运行WebAPI以生成并行请求。这并不理想,尤其是在对动态进行抽象时,因为请求可能会失败
更新

多亏了@Guido Preite,我才能够使用WebAPI。基本上,您使用130多个实体发出GET请求,但在批处理请求正文中对其进行编码,以绕过字符限制。我将在下面为邮递员发布请求

发布到
{mydynamicurl}}/api/data/v9.0/$batch

标题

Authorization:Bearer {{token}}
Content-Type:multipart/mixed;boundary=batch_AAA123 
Accept:application/json
Cache-Control:no-cache
OData-MaxVersion:4.0
OData-Version:4.0
Prefer:odata.maxpagesize=500, odata.include-annotations="*", return=representation
身体

——批处理\u AAA123
内容类型:应用程序/http
内容传输编码:二进制
获取{mydynamicurl}/connections?$filter=(connectionid eq 9b704176-2f60-e911-a830-000d3a385a17或connectionid eq 1ccc526c-2e6c-e911-a831-000d3a385a17…)HTTP/1.1
接受:application/json
--批次号:AAA123--

您可以使用POST请求中传递的FetchXML进行查询


太棒了,我可以直接使用WebAPI。我尝试了我的查询,结果它成功了。我会在这里发帖。
--batch_AAA123
Content-Type: application/http  
Content-Transfer-Encoding:binary

GET {{myDynamicsURL}}/connections?$filter=(connectionid eq 9b704176-2f60-e911-a830-000d3a385a17 or connectionid eq 1ccc526c-2e6c-e911-a831-000d3a385a17 ... <REST OF QUERIES HERE>) HTTP/1.1
Accept: application/json

--batch_AAA123--