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)

Reply via email to