Getting DataSource.NotFound: OData: Request failed (404) in Excel Power Query

Copper Contributor

I have an Odata V4 service written with java olingo.

When I try navigating between entities in Excel Power Query I get this error:

 

DataSource.NotFound: OData: Request failed (404): The remote server returned an error: (404) Not Found. (Resource not found.)
Details:
DataSourceKind=OData
DataSourcePath=http://localhost:8080/odata/v4/shared_spaces/1001/workspaces/1002/features('2011')/product_areas('2017')/tests('1034')/owner
Url=http://localhost:8080/odata/v4/shared_spaces/1001/workspaces/1002/features('2011')/product_areas('2017')/tests('1034')/owner

 

It looks like Excel (2013 + Power Query plugin) generated the invalid URI:

http://localhost:8080/odata/v4/shared_spaces/1001/workspaces/1002/features('1011')/product_areas('1034')/tests('1016')/owner

 

I was expected from Excel to generate the following:

http://localhost:8080/odata/v4/shared_spaces/1001/workspaces/1002/features('1011')/product_areas('1034')/test('1016')/owner

 

The question is why Excel is using the the entity set name (tests) instead of the navigation property name (test) as it should be?

 

below you can find our metadata (the relevant lines are marked in purple).

<EntityType Name="product_area">
<Key>
<PropertyRef Name="id"/>
</Key>
<Property Name="creation_time" Type="Edm.DateTimeOffset"/>
<Property Name="client_lock_stamp" Type="Edm.Int64"/>
<Property Name="has_children" Type="Edm.Boolean"/>
<Property Name="version_stamp" Type="Edm.Int64"/>
<Property Name="description" Type="Edm.String"/>
<Property Name="name" Type="Edm.String"/>
<Property Name="id" Type="Edm.String"/>
<Property Name="last_modified" Type="Edm.DateTimeOffset"/>
<NavigationProperty Name="parent" Type="OData.Octane.product_area" Nullable="false"/>
<NavigationProperty Name="test" Type="Collection(OData.Octane.test)"/>
<NavigationProperty Name="children" Type="Collection(OData.Octane.product_area)"/>
<NavigationProperty Name="work_item" Type="Collection(OData.Octane.work_item)"/>
</EntityType>

<EntitySet Name="tests" EntityType="OData.Octane.test"/>

Thanks,

Adi

 

0 Replies