The OData V4 URL in the TIBCO Data Virtualization's database service does not fetch data if the name of the published resource starts with a NUMBER. 

The OData V4 URL in the TIBCO Data Virtualization's database service does not fetch data if the name of the published resource starts with a NUMBER. 

book

Article ID: KB0071766

calendar_today

Updated On:

Products Versions
TIBCO Data Virtualization All supported versions

Description

The resource under the /shared/examples folder - 'ViewOrder' has been used in the below example. 

- Publish the view 'ViewOrder' under the folder named 'Test-ODataV4'
- Rename the published view 'ViewOrder' as '1QEM'.
- Hit the OData V4 URL for the database service:
-----------------------
http://user-t460:9350/odata4/databases/Test-ODataV4    
-----------------------
- One could see the available view under this database service:
-----------------------
<app:service xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:metadata="http://docs.oasis-open.org/odata/ns/metadata" metadata:context="$metadata">
<app:workspace>
<atom:title>Test-ODataV4.Test-ODataV4Service</atom:title>
<app:collection href="1QEM" metadata:name="1QEM">
<atom:title>1QEM</atom:title>
</app:collection>
</app:workspace>
</app:service>
-----------------------
- Now try accessing the published view '1QEM' for a specific record where OrderID=2:
-----------------------
http://user-t460:9350/odata4/databases/Test-ODataV4/1QEM(OrderID=2)    
-----------------------
- The below error could be seen:
==================
<error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
<code>9901015</code>
<message>The URI is malformed.</message>
</error>

==================

Issue/Introduction

This article explains the behavior when the name of a published resource starts with a NUMBER and the user tries to access the data using an OData V4 URL.

Environment

All supported environment.

Resolution

The below points explain the reason for the error:
  • The error is thrown by a 3rd party library 'Olingo'.
  • The pathsegment doesn't allow the name to start with a number. 
  • 'isUnicodeIdentifierStart' which unicode identifier doesn't allow a number as the start.
To resolve this issue, use characters as opposed to numbers/special characters at the beginning of the name