Sumit created OLINGO-1142:
-----------------------------
Summary: [OData Client] - Referenced metadata documents are not
parsed recursively
Key: OLINGO-1142
URL: https://issues.apache.org/jira/browse/OLINGO-1142
Project: Olingo
Issue Type: Bug
Components: odata4-client
Reporter: Sumit
Let's say there is a service metadata document as follows
{code}
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
<edmx:Reference
Uri="http://vocabularies.odata.org/OData.Community.Display.V1.xml">
<edmx:Include Namespace="OData.Community.Display.V1" Alias="Display" />
<edmx:IncludeAnnotations TermNamespace="OData.Community.Display.V1" />
</edmx:Reference>
<edmx:DataServices>
<Schema Namespace="some.namespace" Alias="mscrm"
xmlns="http://docs.oasis-open.org/odata/ns/edm">
....
</Schema>
<edmx:DataServices>
</edmx:Edmx>
{code}
The referenced document
http://vocabularies.odata.org/OData.Community.Display.V1.xml in the above
metadata document includes another document
{code}
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<edmx:Reference
Uri="http://docs.oasis-open.org/odata/odata/v4.0/os/vocabularies/Org.OData.Core.V1.xml">
<edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"
Namespace="OData.Community.Display.V1">
...
</Schema>
</edmx:DataServices>
</edmx:Edmx>
{code}
According to OData
spec(http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part3-csdl/odata-v4.0-errata03-os-part3-csdl-complete.html#_Toc453752504)
_The scope of a CSDL document is the document itself and all schemas included
from directly referenced documents. All entity types, complex types and other
named elements in scope (that is, defined in the document itself or a schema of
a directly referenced document) can be accessed from a referencing document by
their namespace-qualified names._
So, one should be able to use types or annotations defined in
{{Org.OData.Core.V1}} namespace in the original metadata document. The
{{XMLMetadataRequestImpl}} only adds the things defined in the directly
referenced metadata document to the returned metadata. So annotation defined in
{{Org.OData.Core.V1}} are not available in Edm.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)