Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
(Java) V4 4.4.0
-
None
-
None
Description
You retrieve an entity and expand a navigation property which returns an entity set of a contained entity. If you then retrieve a navigation property on one of the contained entities you will get a bad request because the URL used to retrieve the navigation property is invalid.
The reason for that is that in AbstractStructuredInvocationHandler method retrieveNavigationProperty the targetEntitySetURI is only consturcted by the static information of the service root and the annotated target entity set of the navigation property. A contained entity set has no static entity set URL. It is the canonical URL of the containing entity, followed by the path segment of the navigation property.
Maybe the entity set URL in the case of a ClientInlineEntitySet can be constructed from the link of the inline entity set. Something like this:
URI linkURI = link.getLink();
URI.create(getClient().getServiceRoot() + linkURI.toASCIIString())