5

WEB API /api/data/v8.x kullanarak getirme XML'i yürütmeye çalışıyorum. "Bir niteliğin sayı değeri içerdiği" ile ilgili sorgum var dışında hepsi iyi. Örneğin, aşağıdaki FetchXML telefon numarası ile hesabını bulmak için '03' içerir:Dynamics CRM Web API'sı, Number value filtresini içeren özel FetchXml kullanarak nasıl sorgulanır?

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 Web API:

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

biz WEB API üzerinde GET yoluyla çalıştırdığınızda Geçersiz XML hatası aşağıdaki gibi döner:

{"error": { "code": "", "message": "Geçersiz XML.", "Innererror": { "message": "Invalid XML.", "Type": "System.ServiceModel.FaultException`1 [[Microsoft. nötr Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, sürüm 8.0.0.0, kültür = PublicKeyToken = 31bf3856ad364e35]]"}}}

iyi sorgu çalıştırma filtre değeri başlatılmaz halinde numara ile veya filtre değerinde '%' kaldırırım. Sonuç olarak, bu benim filtre değerinde "% + sayı" kodlaması ve kod çözülmesi ile ilgilidir.

Sorgumda bir sorun var mı yoksa bu Dynamics CRM Web API'sı hatası mı? herhangi bir iş var mı?

+1

Şaşırtıcı bir şekilde, tek haneli bir sayıyı parametre olarak geçirir. Örneğin değer = '% 3'. Ne 'değer = '% 03%'' ne 'değer = '% 30%'' çalışır. – dynamicallyCRM

cevap

0

çalışmıyor neden emin değil, ama bir telefon numarası içeren numaralı İşte 3.

cc_WebAPI_ServiceURI/accounts?$filter=contains(telephone1,'3') 
3

, Dinamikler 365 dahili FetchXML sorgu dizesi iki kez çözmekte olan almak için filtre kullanabilirsiniz. Mühendislik ekibi bu konuda bilgilendirildi. Gelecek sürümde ve muhtemelen en son kamu yayınında düzeltme sağlayacaktır. Şimdiye kadar, sorgu dizgisini iki kez kodlamayı deneyebilir veya kodlamadan sonra karakterinin tüm oluşumlarını %25 ile değiştirebilirsiniz. Örneğin, value%3D"%2503%25" dizesi value%3D"%252503%2525" ile değiştirilebilir. Düzeltme kullanılabilir olduğunda, önerilen geçici çözümün artık çalışmayacağını unutmayın.

+1

8.2.1.207 –

+1

ile düzeltilmiş gibi görünüyor. Doğru. Derleme 8.2.1.207 içerir. –

İlgili konular