Microsoft Dynamics NAV - 创建SalesOrder的新条目(Simple.OData.Client)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft Dynamics NAV - 创建SalesOrder的新条目(Simple.OData.Client)相关的知识,希望对你有一定的参考价值。
我正在尝试使用Microsoft Dynamics NAV中的Simple.OData.Client通过OData Web服务发布SalesOrder的新条目。
这有效:
ODataClientSettings settings = new ODataClientSettings();
settings.BaseUri = new Uri(Constants.ODataServiceEndpoint);
settings.Credentials = new NetworkCredential(Constants.SecureUserName, Constants.SecureUserPassword);
client = new ODataClient(settings);
var items = await client
.For("SalesOrder")
.FindEntriesAsync();
不幸的是,这不起作用,我不知道为什么:
var product = await client
.For<SalesOrder>("SalesOrder")
.Set(CreateDummyOrder())
.InsertEntryAsync();
我得到这个例外:
Exception caught : Simple.OData.Client.WebRequestException: Internal Server Error
at Simple.OData.Client.RequestRunner.PostExecute(HttpResponseMessage responseMessage)
at Simple.OData.Client.RequestRunner.ExecuteRequestAsync(ODataRequest request, CancellationToken cancellationToken)
at Simple.OData.Client.ODataClient.ExecuteRequestWithResultAsync[T](ODataRequest request, CancellationToken cancellationToken, Func`2 createResult, Func`1 createEmptyResult, Func`1 createBatchResult)
at Simple.OData.Client.ODataClient.InsertEntryAsync(FluentCommand command, Boolean resultRequired, CancellationToken cancellationToken)
at Simple.OData.Client.BoundClient`1.InsertEntryAsync(Boolean resultRequired, CancellationToken cancellationToken)
答案
最后,我弄清楚了问题。
对于每个要处理它的人来说,有必要使用OData V4 URL。虽然我不确定为什么发布不适用于OData V3 URL。之后,您必须启用手动编号。
以上是关于Microsoft Dynamics NAV - 创建SalesOrder的新条目(Simple.OData.Client)的主要内容,如果未能解决你的问题,请参考以下文章
微软的 Dynamics AX 、NAV 、GL 、CRM 分别代表啥意思。
从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server
javascript Microsoft Dynamics CRM GOD模式
在 Microsoft Dynamics 365 Online中如何调试Plugins in