Próbuję wykonać pobieranie XML za pomocą WEB API /api/data/v8.x. Wszystko jest w porządku, z wyjątkiem sytuacji, gdy mam zapytanie dotyczące "gdzie atrybut zawiera wartość liczbową". Na przykład, następujący fetchXML znaleźć konto z numerem telefonu zawiera '03':W jaki sposób zapytać Dynamics CRM Web API za pomocą niestandardowego FetchXml z użyciem filtru wartości liczbowej?
<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>
Kiedy go uruchomić poprzez Get On Web API:
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 zwraca Nieprawidłowy błąd XML w następujący sposób:
{"błąd": { "code": "", "message": "Niepoprawny XML.", "Innererror": { "message": "Niepoprawny XML.", "Type": "System.ServiceModel.FaultException" 1 [[Microsoft. Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version = 8.0.0.0, Culture = neutral, TokenKluczaPublicznego = 31bf3856ad364e35]]”}}}
przebieg kwerendy w porządku, jeśli wartość filtra nie uruchamia z liczbą lub ja usuwam "%" z wartości filtru. Mój wniosek jest taki, że ma to związek z kodowaniem i dekodowaniem "% + number" w mojej wartości filtru.
Czy coś jest nie tak z moim zapytaniem, czy jest to błąd interfejsu API Dynamics CRM Web? jakieś prace dookoła?
Zadziwiająco, przekazywanie pojedynczej cyfry jako parametru działa. "wartość ="% 3'"na przykład. Ani 'value = '% 03%'' ani 'value = '% 30%'' nie działają. – dynamicallyCRM