MS CRM 2011
—で新しい OrganizationService エンドポイントを使用しています/XRMServices/2011/Organization.svc
。
Fetch
古いコマンドには対応していないようです。fetchXML
そして、メソッドに渡すことで、クエリを引き続き使用できることがわかりましたRetrieveMultiple
。
C# では単純に見えます。
string expression = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='systemuser'>
<attribute name='businessunitid' />
<attribute name='systemuserid' />
<order attribute='businessunitid' descending='false' />
<filter type='and'>
<condition attribute='systemuserid' operator='eq-userid' />
</filter>
<link-entity name='businessunit' from='businessunitid' to='businessunitid' alias='ah'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>";
FetchExpression fetch = new FetchExpression(expression);
// let's assume GetOrganisationService will return correct instance of IOrganizationService
IOrganizationService service = GetOrganisationService();
EntityCollection result = service.RetrieveMultiple(fetch);
しかし、JavaScript から同じことを実行する必要があります。この場合、正しいクエリを作成する方法がよくわかりません。
明らかに、それは何らかの方法でfetchXML
変換する必要がありますが、インターネットとSDK全体をブラッシングしましたが、それを行う方法を見つけることができません.SOAP
どうすればこの種のリクエストを入れることができますか:
<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='systemuser'>
<attribute name='businessunitid' />
<attribute name='systemuserid' />
<order attribute='businessunitid' descending='false' />
<filter type='and'>
<condition attribute='systemuserid' operator='eq-userid' />
</filter>
<link-entity name='businessunit' from='businessunitid' to='businessunitid' alias='ah'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
次のSOAP
メッセージの中に?
<soap:Body>
<RetrieveMultiple xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>
<query xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:QueryExpression'>
Some magic here
</RetrieveMultiple>
</soap:Body>