[
https://issues.apache.org/jira/browse/OLINGO-861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15897877#comment-15897877
]
rafiqkattangere commented on OLINGO-861:
----------------------------------------
this is how modified mydemosample looks like.
####
public class MyDemoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Logger LOG =
LoggerFactory.getLogger(MyDemoServlet.class);
private ReferenceResolver referenceResolver = new
LocalReferenceResolver();
@Override
protected void service(final HttpServletRequest req, final
HttpServletResponse resp)
throws ServletException, IOException {
try {
HttpSession session = req.getSession(true);
MetadataParser parser = new MetadataParser();
InputStream is =
getClass().getResourceAsStream("/ServiceRoot.xml");
Reader reader = new InputStreamReader(is);
parser.referenceResolver(new LocalReferenceResolver());
OData odata = OData.newInstance();
ServiceMetadata edm = parser.buildServiceMetadata(reader);
ODataHttpHandler handler = odata.createHandler(edm);
handler.process(req, resp);
} catch (RuntimeException e) {
LOG.error("Server Error", e);
throw new ServletException(e);
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
private static class LocalReferenceResolver implements ReferenceResolver
{
public InputStream resolveReference(URI referenceUri, String
xmlBase) {
String baseDir = "C:/metadata/";
String qURI = referenceUri.toASCIIString();
String fileName = qURI.substring(35);
//sizeof("http://redfish.dmtf.org/schemas/v1/");
if ((qURI.contains("http://redfish.dmtf.org/schemas/v1/")))
{
try {
return new FileInputStream(baseDir+fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
return null;
}
}
> MetaDataParser unable to build EdmProvider from Edmx files with references
> --------------------------------------------------------------------------
>
> Key: OLINGO-861
> URL: https://issues.apache.org/jira/browse/OLINGO-861
> Project: Olingo
> Issue Type: Bug
> Components: odata4-server
> Affects Versions: (Java) V4 4.1.0
> Reporter: VIJAYASIMHA R NAGA
> Assignee: Ramesh Reddy
> Fix For: (Java) V4 4.2.0
>
> Attachments: MyODataDemoService.zip, ServiceRoot.xml
>
>
> Unable to build an EdmProvider from Edmx files with references to external
> name spaces, (Method "readReference" in MetaDataParser.java from
> server-core-ext library has a TODO remark to deal with this)
> Ex: Having the below reference included in an Edmx file <edmx:Reference
> Uri="http://docs.oasis-open.org/odata/odata/v4.0/cs01/vocabularies/Org.OData.Core.V1.xml">
> <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/> </edmx:Reference>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)