Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamics crm 使用ODataREST和JavaScript从组织服务获取EntityReference_Dynamics Crm_Microsoft Dynamics_Dynamics Crm 2013 - Fatal编程技术网

Dynamics crm 使用ODataREST和JavaScript从组织服务获取EntityReference

Dynamics 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">

我试图在Dynamics CRM 2016(内部部署)中获取活动响应的客户信息。 因为我使用的是实体表单,所以我想使用JavaScript进行REST查询

检索活动响应的信息不是问题所在。 但在响应XML中,PartyId的类型为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。