Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How to query RDNG 6.0.3 with configuration management enabled through OSLC?

Has anyone encountered issues when querying over OSLC v2 on RDNG 6.0.3?

I am able to query an RDNG project when configuration management is not enabled:

GET /rm/views?oslc.query=true&projectURL={projectURL}&oslc.prefix=rdf%3D%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E&oslc.select=&oslc.where=rdf:type%3D%3Chttp%3A%2F%2Fopen-services.net%2Fns%2Frm%23RequirementCollection%3E&oslc.pageSize=400 HTTP/1.1
Accept: application/rdf+xml
OSLC-Core-Version: 2.0
Accept-Language: en-US

200 OK

The same request on a configuration management enabled project does not work:

GET /rm/views?oslc.query=true&projectURL={projectURL}g&oslc.prefix=rdf%3D%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E&oslc.select=
&oslc.where=rdf:type%3D%3Chttp%3A%2F%2Fopen-services.net%2Fns%2Frm%23RequirementCollection%3E&oslc.pageSize=400 HTTP/1.1
Accept: application/rdf+xml
OSLC-Core-Version: 2.0
Accept-Language: en-US
oslc.configuration: https://{server}:9443/gc/configuration/4

Error processing response (HTTP 400: Bad Request): com.ibm.rdm.fronting.server.exception.ForbiddenException: No project defined (More info found at entry [6490a548dfdd241d] in the RM application server log);

The corresponding log entry:
2017-02-27 08:34:48,777 [ Default Executor-thread-23413] ERROR m.ibm.rdm.fronting.server.services.RMBridgeService  - Service Error: Unable to resolve expected configuration.
2017-02-27 08:34:48,840 [ Default Executor-thread-23413] ERROR com.ibm.rdm.fronting.server.rrs.views.ViewService   - CRRRS1007E  A problem occurred in the Requirements Management (RM) server: Entry [6490a548dfdd241d]
java.lang.RuntimeException: com.ibm.rdm.fronting.server.exception.ForbiddenException: No project defined
    at com.ibm.rdm.fronting.server.rrs.views.execution.types.ViewExecutionTypeModel.getAllAttributeDefintionUrisForProject(ViewExecutionTypeModel.java:170)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.FetchPlanner.getAllFieldsForProject(FetchPlanner.java:129)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.FetchPlanner.addFieldsToFetchByExpandingWildcard(FetchPlanner.java:84)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.FetchPlanner.planFetch(FetchPlanner.java:64)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.BuildEnvRqlVisitor.visitSelect(BuildEnvRqlVisitor.java:59)
    at com.ibm.rdm.rql.expr.SelectExpr.accept(SelectExpr.java:74)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.DefaultRqlVisitor.visitRqlQuery(DefaultRqlVisitor.java:63)
    at com.ibm.rdm.rql.expr.RqlQuery.accept(RqlQuery.java:151)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.SparqlRqlVisitor.visitRqlQuery(SparqlRqlVisitor.java:161)
    at com.ibm.rdm.fronting.server.rrs.views.execution.sparql.SparqlRqlVisitor.visitRqlQuery(SparqlRqlVisitor.java:1)
    at com.ibm.rdm.rql.expr.RqlQuery.accept(RqlQuery.java:151)
    at com.ibm.rdm.fronting.server.rrs.views.execution.ViewExecutor.queryToSparql(ViewExecutor.java:138)
    at com.ibm.rdm.fronting.server.rrs.views.execution.ViewExecutor.queryToSparql(ViewExecutor.java:121)
    at com.ibm.rdm.fronting.server.rrs.views.execution.ViewExecutor.queryToSparql(ViewExecutor.java:117)
    at com.ibm.rdm.fronting.server.rrs.views.execution.grid.ArtifactGridViewExecutor.generateSparql(ArtifactGridViewExecutor.java:203)
    at com.ibm.rdm.fronting.server.rrs.views.execution.grid.ArtifactGridViewExecutor.generateSparql(ArtifactGridViewExecutor.java:185)
    at com.ibm.rdm.fronting.server.rrs.views.execution.grid.ArtifactGridViewExecutor.executeSparqlQuery(ArtifactGridViewExecutor.java:106)
    at com.ibm.rdm.fronting.server.rrs.views.execution.grid.ArtifactGridViewExecutor.executeGridViewRequest(ArtifactGridViewExecutor.java:91)
    at com.ibm.rdm.fronting.server.rrs.views.execution.grid.GridViewExecutor.execute(GridViewExecutor.java:94)
    at com.ibm.rdm.fronting.server.rrs.views.execution.grid.GridViewExecutor.execute(GridViewExecutor.java:87)
    at com.ibm.rdm.fronting.server.rrs.views.ViewExecutionRequest.executeView(ViewExecutionRequest.java:204)
    at com.ibm.rdm.fronting.server.rrs.views.OslcViewExecutionRequest.execute(OslcViewExecutionRequest.java:96)
    at com.ibm.rdm.fronting.server.core.internal.request.RRSCommandBase.call(RRSCommandBase.java:278)
    at com.ibm.rdm.fronting.server.core.internal.request.RRSCommandBase.call(RRSCommandBase.java:1)
    at com.ibm.rdm.fronting.server.core.request.async.internal.CommandRunnerService.runCommand(CommandRunnerService.java:121)
    at com.ibm.rdm.fronting.server.core.internal.request.RRSCommandComposite.execute(RRSCommandComposite.java:74)
    at com.ibm.rdm.fronting.server.core.internal.request.RRSCommandBase.call(RRSCommandBase.java:278)
    at com.ibm.rdm.fronting.server.core.internal.request.RRSCommandBase.call(RRSCommandBase.java:1)
    at com.ibm.rdm.fronting.server.core.request.async.internal.CommandRunnerService.runCommand(CommandRunnerService.java:121)
    at com.ibm.rdm.fronting.server.core.internal.InternalDomainServiceBase.runCompositeCommandSynchronously(InternalDomainServiceBase.java:541)
    at com.ibm.rdm.fronting.server.rrs.views.ViewServiceInternal.doGetInternal(ViewServiceInternal.java:196)
    at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.runInternalMethod(RRSRestServiceBase.java:691)
    at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.handleMethod(RRSRestServiceBase.java:579)
    at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.doGet(RRSRestServiceBase.java:128)
    at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.performService(RRSRestServiceBase.java:358)
    at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.service(RRSRestServiceBase.java:206)
    at com.ibm.team.jfs.app.servlet.AppContainerServlet.dispatchRequest(AppContainerServlet.java:155)
    at com.ibm.team.jfs.app.servlet.AppContainerServlet.service(AppContainerServlet.java:282)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleAppSdkRestServiceRequest2(AbstractTeamServerServlet.java:2004)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.access$2(AbstractTeamServerServlet.java:1959)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet$2.service(AbstractTeamServerServlet.java:264)
    at com.ibm.team.repository.service.internal.compatibility.auth.DelegatedAuthHandlerService$1.run(DelegatedAuthHandlerService.java:263)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleAuthentication(AbstractTeamServerServlet.java:2060)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleAppSdkRestServiceRequest(AbstractTeamServerServlet.java:1935)
    at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1662)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:152)
    at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1290)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:778)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:152)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:94)
    at com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165)
    at com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:207)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:1021)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1143)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4869)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:297)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:997)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:262)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:955)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:341)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:471)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:405)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:285)
    at com.ibm.ws.http.channel.internal.inbound.HttpICLReadCallback.complete(HttpICLReadCallback.java:66)
    at com.ibm.ws.channel.ssl.internal.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1777)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:504)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:574)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:929)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1018)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
    at java.lang.Thread.run(Thread.java:809)
Caused by: com.ibm.rdm.fronting.server.exception.ForbiddenException: No project defined
    at com.ibm.rdm.fronting.server.exception.RRSException.newException(RRSException.java:258)
    at com.ibm.rdm.fronting.server.exception.RRSException.newMethodForbiddenException(RRSException.java:161)
    at com.ibm.rdm.fronting.server.core.internal.DefaultValidatorsService.buildValidationErrorException(DefaultValidatorsService.java:202)
    at com.ibm.rdm.fronting.server.services.types.internal.WorkflowTypeCache.getWorkflowTypes(WorkflowTypeCache.java:288)
    at com.ibm.rdm.fronting.server.services.types.internal.ProjectTypeSystem.findAllAttributeDefinitionUris(ProjectTypeSystem.java:1146)
    at com.ibm.rdm.fronting.server.rrs.views.execution.types.ViewExecutionTypeModel.getAllAttributeDefintionUrisForProject(ViewExecutionTypeModel.java:165)
    ... 83 more

0 votes


Accepted answer

Permanent link

 Hi I think this is a known issue already reported in : https://jazz.net/jazz03/web/projects/Requirements%20Management#action=com.ibm.team.workitem.viewWorkItem&id=114076

Ellena Chen selected this answer as the correct answer

0 votes

Comments

Thank you Gabriel.  That is it.


One other answer

Permanent link

You simply used the wrong value for the oslc.configuration parameter - you should use the RM local configuration, not the GC configuration.

You can treat the GC configuration as a set of local configurations from the participating applications (RM in this case). The GC configuration has no direct relation to the RM artifacts, while the local configuration does.

0 votes

Comments

My RM streams are added to GC configurations.  I've added  this as a potential duplicate as https://jazz.net/jazz03/web/projects/Requirements%20Management#action=com.ibm.team.workitem.viewWorkItem&id=113272.

The point is, the RM artifacts should not be bound to a GC configuration, as you can change the GC configuration (e.g. add an RM configuration to it or remove from it) which can easily break the artifacts' integrity if it were the case. Unless we expect RM to resolve the local configuration from the GC configuration and then use it for the artifacts.

> Unless we expect RM to resolve the local configuration from the GC configuration and then use it for the artifacts.

Yes, I expect that to work.

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,941

Question asked: Feb 27 '17, 12:11 p.m.

Question was seen: 2,475 times

Last updated: May 25 '17, 5:12 p.m.

Confirmation Cancel Confirm