[英]retrieve a record using Dynamics 365 Web API with empty alternate key
[英]Performing updates using alternate key in Dynamics 365 WebAPI
任何人都可以提供幫助,因為我相信有人已經面臨我遇到的問題。
我有一個帶有備用鍵 (alssc_name) 的自定義實體 (alssc_anglesector)
“alssc_ANGLESector@odata.bind”: “/alssc_anglesectors(alssc_name=’Air’)”,
“alssc_ANGLESector@odata.bind”: “/alssc_anglesectors(alssc_name=’Water Auth/Company’)”,
當我創建一個帳戶並將第一個綁定與“Air”一起使用時,它工作正常,而當使用第二個“Auth/Company”時,我得到了響應
“消息”:“錯誤請求 - 查詢語法錯誤。”,
“類型”:“Microsoft.OData.ODataException”,
“stacktrace”:“在 Microsoft.OData.UriParser.ODataPathParser.ExtractSegmentIdentifierAndParenthesisExpression(String segmentText, String& identifier, String& parenthesisExpression)
我也嘗試過對其進行編碼
"alssc_ANGLESector@odata.bind": "/alssc_anglesectors(alssc_name=\u0027Water Auth\u002FCompany\u0027)",
但最終結果是一樣的。
我無法克服這個問題,有什么想法/建議嗎?
這可能是 D365 API WebApi 中的錯誤嗎?
根據評論線程中的答案:此請求不受支持,因為它包含 Unicode 字符
Unicode 鍵值中的字符
如果在備用鍵中使用的字段中的數據將包含以下字符之一 <、>、*、%、&、:、/、\,則更新或更新 (PATCH) 操作將不起作用。
Microsoft Docs 的建議是創建另一個不包含這些字符的字段(例如代碼或簡化名稱)
在這種情況下,由於“/”特殊字符,您必須將“Water Auth/Company”更改為“Water Auth%2FCompany”。
我希望它有效。
烏古爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.