WEB API /api/data/v8.x를 사용하여 XML 가져 오기를 실행하려고합니다. "속성에 숫자 값이 들어있는 위치"와 관련된 질의가있을 때를 제외하고 모두 괜찮습니다. 예를 들어, 다음 fetchXML 전화 번호와 계정을 찾는 것은 '03'이 포함되어Number 값 필터가 포함 된 사용자 정의 FetchXml을 사용하여 Dynamics CRM 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 웹 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>
우리는 웹 API에 GET를 통해 그것을 실행하는 경우 다음과 같이 잘못된 XML 오류를 반환합니다.
{ "error": { "code": "", "message": "잘못된 XML입니다.", "innererror": { "메시지": "잘못된 XML입니다.", "type": "System.ServiceModel.FaultException`1 [[Microsoft 중립 Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, 버전 = 8.0.0.0, 문화 = PublicKeyToken = 31bf3856ad364e35]] "}}}
확실히 쿼리 실행이 필터 값이 시작되지 않는 경우 숫자 또는 필터 값에서 '%'가 제거됩니다. 내 결론은 내 필터 값에서 "% + number"인코딩 및 디코딩과 관련이 있다는 것입니다.
내 쿼리에 문제가 있습니까? 아니면이 Dynamics CRM Web API 버그입니까? 주위에 어떤 일이 있니?
놀랍게도 매개 변수로 한 자리 숫자를 전달하면 효과적입니다. 'value = '% 3' '과 같습니다. 'value = '% 03 %'도'value = '% 30 %'도 작동하지 않습니다. – dynamicallyCRM