[英]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.