Problem with Web Services from NAV 2013 RRS feed

  • Question

  • Hi,

    That we are able to publish Queries and Pages from NAV 2013 as Web Services is great. Sadly I have a problem that seems almost random. I have configuered the Dynamics NAV Server Instance for OData and published some web services from NAV and it works fine. But sometimes after a server restart or just a restart of the NAV Server Instance I can't get problem to connect to some of my published web services (also random, not the same web services every time). Then I need to restart the NAV Server Instance until it works and then it will work until someone restart (not always but often) the server or the NAV Server Instance again.

    The problem are more common with lower versions of NAV. I currently have the problem with Version 7.0.35026.0. Does anyone know what the problem are? Is it a known bug? Do you think it will help to upgrade to the latest version?

    Here is an error that I get in the eventlog when the web service doesn't answer:

    Server instance: DynamicsNAVOData
    Session type: UnknownClient
    Session ID: N/A
    Type: System.IndexOutOfRangeException
    Message: Index was outside the bounds of the array.
         at Microsoft.Dynamics.Nav.Runtime.ReadOnlyRecordBuffer.get_Item(Int32 index)
         at Microsoft.Dynamics.Nav.Runtime.DataProviderHelper.BuildPositioningFilterListFromRecordBuffer(MutableRecordBuffer record, ReadOnlyCollection`1 sortingFields, FilterExpressionType newPosition)
         at Microsoft.Dynamics.Nav.Runtime.DataProviderHelper.BuildPositioningFilterFromRecordBuffer(MutableRecordBuffer record, ReadOnlyCollection`1 sortingFields, FilterExpressionType newPosition)
         at Microsoft.Dynamics.Nav.Runtime.NavSqlQueryCommand.QueryExecute(NavSqlConnectionScope conScope, NCLMetaQueryDefinition query, Int32 companyToken, Int32 topNumberOfRowsToReturn, FiltersAndMarks queryFilters, Boolean includeCurrent, MutableRecordBuffer startingPosition, SecurityFiltering securityFiltering, Boolean addExplicitJoinHints)
         at Microsoft.Dynamics.Nav.Runtime.NavSqlQueryCommand.<Query>d__1b.MoveNext()
         at Microsoft.Dynamics.Nav.Runtime.ResultSet.TryGetAtIndex(Int32 index, ReadOnlyRecordBuffer& recordBuffer)
         at Microsoft.Dynamics.Nav.Runtime.ResultSetEnumerator.TryGetRecordBufferFromResultSet(Int32 fetchIndex, MutableRecordBuffer& recordBuffer)
         at Microsoft.Dynamics.Nav.Runtime.ResultSetEnumerator.TryMoveNextImpl(MutableRecordBuffer& recordBuffer)
         at Microsoft.Dynamics.Nav.Runtime.NavQuery.GetNextRow()
         at Microsoft.Dynamics.Nav.Runtime.NavQuery.RunQueryForOData(NavValue[] startingPosition, Int32 pageSize, Int32 skipSize)
         at Microsoft.Dynamics.Nav.Service.ODataServiceProvider.ODataQueryProviderToNavQuery.FetchData(NavConnection connection)
         at Microsoft.Dynamics.Nav.Service.ODataServiceProvider.ODataQueryProviderToNavQuery.GetResourcesFromNavObject(NavConnection connection)
         at Microsoft.Dynamics.Nav.Service.ODataServiceProvider.NavServiceHelper.ExecuteOperation[TResult,T1,T2](String companyName, ODataOperation`3 operation, T1 parameter1, T2 parameter2)
    Source: Microsoft.Dynamics.Nav.Ncl
    HResult: -2146233080

    Göran Karlsson NAB Solutions

    Thursday, February 20, 2014 3:15 PM

All replies