Dynamics crm 使用ODataREST和JavaScript从组织服务获取EntityReference
我试图在Dynamics CRM 2016(内部部署)中获取活动响应的客户信息。 因为我使用的是实体表单,所以我想使用JavaScript进行REST查询 检索活动响应的信息不是问题所在。 但在响应XML中,PartyId的类型为EntityReferenceDynamics crm 使用ODataREST和JavaScript从组织服务获取EntityReference,dynamics-crm,microsoft-dynamics,dynamics-crm-2013,Dynamics Crm,Microsoft Dynamics,Dynamics Crm 2013,我试图在Dynamics CRM 2016(内部部署)中获取活动响应的客户信息。 因为我使用的是实体表单,所以我想使用JavaScript进行REST查询 检索活动响应的信息不是问题所在。 但在响应XML中,PartyId的类型为EntityReference ... <!-- more XML omitted --> <d:PartyId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
... <!-- more XML omitted -->
<d:PartyId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
<d:Id m:type="Edm.Guid">13cb3e39-46c5-e711-80ce-005056a04f81</d:Id>
<d:LogicalName>contact</d:LogicalName>
<d:Name>Jane Doe</d:Name>
<d:RowVersion m:null="true" />
</d:PartyId>
...<!-- more XML omitted -->
我得到以下错误
<error>
<code/>
<message xml:lang="de-DE">Resource not found for the segment 'contactSet'.</message>
</error>
只是EntityReference的ID,必须解析为contacts实体的真实ID。但是怎么做呢?ODataURL是区分大小写的,所以不要使用
contactSet
而是使用contactSet
来获得结果
https://example.com/OrganizationName/XRMServices/2011/OrganizationData.svc/ContactSet(guid'13cb3e39-46c5-e711-80ce-005056a04f81')
OData url区分大小写,因此使用
contactSet
而不是contactSet
获取结果
https://example.com/OrganizationName/XRMServices/2011/OrganizationData.svc/ContactSet(guid'13cb3e39-46c5-e711-80ce-005056a04f81')
您应该能够使用OData端点查询实体:
https://example.com/OrganizationName/api/data/v8.0/contacts(13cb3e39-46c5-e711-80ce-005056a04f81)
或WCF\SOAP
https://example.com/OrganizationName/XRMServices/2011/OrganizationData.svc/ContactSet(guid'13cb3e39-46c5-e711-80ce-005056a04f81')
这两个链接在D365 v9 on-prem上都能正常工作。但我不需要在CRM 2016上直接测试env。您应该能够使用OData端点查询实体:
https://example.com/OrganizationName/api/data/v8.0/contacts(13cb3e39-46c5-e711-80ce-005056a04f81)
或WCF\SOAP
https://example.com/OrganizationName/XRMServices/2011/OrganizationData.svc/ContactSet(guid'13cb3e39-46c5-e711-80ce-005056a04f81')
这两个链接在D365 v9 on-prem上都能正常工作。但我没有env直接在CRM 2016上测试。你好,阿伦,谢谢你的评论。不幸的是,这似乎并不能解决问题。错误消息仍然显示未找到段“ContactSet”的
资源。我想我还是需要得到关于派对的信息。你知道怎么做吗?试着记住2011年的端点,Guid需要大括号吗?嗨@Daryl,谢谢你的评论。我认为它不需要牙套。其他查询在没有大括号的情况下也会成功。因此,我认为查询不会成功,因为给定的PartyId->Id是EntityReference的Id,必须对其进行解析。但我不知道怎么做:(你好,阿伦,谢谢你的评论。不幸的是,这似乎并不能解决问题。错误消息仍然显示,
未找到“ContactSet”段的资源。我想我仍然需要获取有关该方的信息。知道如何获取吗?试着记住2011端点,Guid是否需要花括号?嗨@Daryl,thx表示注释。我认为它不需要大括号。其他查询在没有大括号的情况下会成功。因此我认为查询不会成功,因为给定的PartyId->Id是EntityReference的Id,必须解决它。但我不知道如何:(我现在尝试使用OData端点。ID似乎不是联系人guid。我仍然需要获取EntityReference本身以及它所指向的信息。当然,我可能从您的XML摘录中出错,它是联系人,但您也可以检查activityparty实体以获取此类ID。我现在尝试使用OData端点。ID似乎不是联系人guid。我仍然需要获取EntityReference本身以及它所指向的信息。当然,从您的XML摘录它的联系人中我可能会出错,但您也可以检查activityparty实体以获取此类id。