It's all about the answers!

Ask a question

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


Ellena Chen (133) | asked Feb 27 '17, 12:11 p.m.

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

Accepted answer


permanent link
Gabriel Ruelas (1.1k13) | answered May 25 '17, 4:37 p.m.
Ellena Chen selected this answer as the correct answer

Comments
Ellena Chen commented May 25 '17, 5:12 p.m.

Thank you Gabriel.  That is it.

One other answer



permanent link
Donald Nong (14.3k213) | answered Mar 10 '17, 3:24 a.m.

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.


Comments
Ellena Chen commented Mar 10 '17, 10:08 a.m.

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.


Donald Nong commented Mar 12 '17, 7:09 p.m.

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.


Ellena Chen commented May 25 '17, 3:37 p.m.

> 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 to post your answer.