Microsoft Dynamics NAV - создайте новую запись SalesOrder (Simple.OData.Client) - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь опубликовать новую запись SalesOrder через веб-службы OData, используя Simple.OData.Client в Microsoft Dynamics NAV.

Это работает :

        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)

1 Ответ

0 голосов
/ 26 февраля 2019

Наконец, я выясняю проблему.

Для всех, кто собирается иметь дело с этим, необходимо использовать OData V4 URL .Хотя я не уверен, почему публикация не работает с OData V3 URL.После этого вы должны включить ручные номера.

...