ServiceProviderCatalog discovery not working with DNG

Hi

I am new to OSLC/lyo and the @Oslc… magic lyo is using. Bear with me, if I my mistake is obvious.

I use a recent DNG 7.0.2 and I try to use the ETMSample (changes certain locations from QM to RM) after fetching the rootservices it’s loading the catalog from ttps://dng.example.one:9443/rm/oslc_rm/catalog

<?xml version="1.0" encoding="UTF-8"?>

<oslc_disc:ServiceProviderCatalog
xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:dcterms=“DCMI: DCMI Metadata Terms
xmlns:oslc_disc=“http://open-services.net/xmlns/discovery/1.0/
xmlns:jp=“http://jazz.net/xmlns/prod/jazz/process/1.0/
rdf:about=“https://dng.example.one:9443/rm/oslc_rm/catalog”>
dcterms:titleRMCatalog</dcterms:title>
<oslc_disc:entry>
<oslc_disc:ServiceProvider>
dcterms:titleTest</dcterms:title>
<oslc_disc:details rdf:resource=“https://dng.example.one:9443/rm/process/project-areas/_HPdqQMCrEeycW9snq2oQSw”/>
<jp:consumerRegistry rdf:resource=“https://dng.example.one:9443/rm/process/project-areas/_HPdqQMCrEeycW9snq2oQSw/links”/>
<oslc_disc:services rdf:resource=“https://dng.example.one:9443/rm/oslc_rm/_HPdqQMCrEeycW9snq2oQSw/services.xml”/>
</oslc_disc:ServiceProvider>
</oslc_disc:entry>

</oslc_disc:ServiceProviderCatalog>

Which looks like this specification is followed:
https://archive.open-services.net/bin/view/Main/OslcServiceProviderCatalogV1.html

If I read the class ServiceProviderCatalog I could easily imagine that this specification is followed:

In line 443 of OslcClient happens the magic to convert this response to a ServiceProviderCatalog
ServiceProviderCatalog catalog = response.readEntity(ServiceProviderCatalog.class);

In this catalog object the number of ServiceProviders is 0 (catalog.getServiceProviders().length==0).

Obviously lyo is expecting a newer version of the standard than what DNG is providing.

Is there a chance to have a switch to distiguish between these two ServiceProviderCatalog versions?

Could one construct a 150% ServiceProviderCatalog to also digest the DNG Version?

Can I solve this as a user of the lyo API?

How would one model the oslc_disc:entry?

Would one use an intermediate class entry and then the ServiceProvider or can I kind of “grab-all” ServiceProvider?

Is there a chance to peek into the response to “know” which class to use to decode the response?

Thanks for any help and Kind Regards
Thorsten

Hi

to hint someone in the future with the same problem:

DNG is serving the above file in the browser if asksd for RDF like oslc is doing, the right contents is served, with different structure.

The root cause was that the used user for testing didn’t have access to any Project Areas.

Kind Regards
Thorsten

1 Like

So is this problem solved? it was not an issue with Lyo after all?