Skip to main content

On our Production environment we have the following error popping up in our Indicium logs once in a while. This is caused by an action of an end user, we presume. But how can we debug this error (based on Production logs - without using Debug mode)? I don't see any pointers in the below error message:

>Error] Indicium.OData.ODataRouteValueTransformer: Invalid OData URL. Microsoft.OData.ODataException: Bad Request - Error in query syntax.
at Microsoft.OData.UriParser.ODataUriResolver.ResolveKeys(IEdmEntityType type, IDictionary2 namedValues, Func3 convertFunc)
at Microsoft.OData.UriParser.AlternateKeysODataUriResolver.ResolveKeys(IEdmEntityType type, IDictionary2 namedValues, Func3 convertFunc)
at Microsoft.OData.UriParser.SegmentArgumentParser.TryConvertValues(IEdmEntityType targetEntityType, IEnumerable1& keyPairs, ODataUriResolver resolver) at Microsoft.OData.UriParser.SegmentKeyHandler.CreateKeySegment(ODataPathSegment segment, KeySegment previousKeySegment, SegmentArgumentParser key, ODataUriResolver resolver) at Microsoft.OData.UriParser.SegmentKeyHandler.TryCreateKeySegmentFromParentheses(ODataPathSegment previous, KeySegment previousKeySegment, String parenthesisExpression, ODataUriResolver resolver, ODataPathSegment& keySegment, Boolean enableUriTemplateParsing) at Microsoft.OData.UriParser.ODataPathParser.TryBindKeyFromParentheses(String parenthesesSection) at Microsoft.OData.UriParser.ODataPathParser.TryCreateSegmentForNavigationSource(String identifier, String parenthesisExpression) at Microsoft.OData.UriParser.ODataPathParser.CreateFirstSegment(String segmentText) at Microsoft.OData.UriParser.ODataPathParser.ParsePath(ICollection1 segments)
at Microsoft.OData.UriParser.ODataPathFactory.BindPath(ICollection`1 segments, ODataUriParserConfiguration configuration)
at Microsoft.OData.UriParser.ODataUriParser.Initialize()
at Indicium.OData.ODataRouteValueTransformer.TransformAsync(HttpContext httpContext, RouteValueDictionary values) in C:\azp\agent_work\1\s\src\Indicium\OData\ODataRouteValueTransformer.cs:line 204

 

In the next version of Indicium when used with CloudWatch you can see the RequestPath to make this more clear. Like in the image below as an example - (note this is a different error but the structure will be the same).
 

 

That being said, we will also try to make the log message clearer when CloudWatch or Application Insights is not used.


@Dick van den Brink to clarify: so currently there is no way to debug this specific error as long as the reproduction steps are unknown?