【发布时间】:2019-02-25 15:48:08
【问题描述】:
我正在尝试使用 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)
【问题讨论】:
-
尝试查看 NAV 服务器上的事件查看器日志,以获取有关“内部服务器错误”的更多信息...这可能与 NAV 内部逻辑有关,例如产品已标记例如,作为“已阻止”发布。不一定与技术问题有关。
标签: c# odata dynamics-nav simple.odata