Cadet 1st Class
Cadet 1st Class
348 views

HP ALM | REST API Error ALM-E10004: Failed to load project?

I am using HP ALM Version 11.52.809.

After authenticating, I'm trying to fetch the list of domains using the following REST-API :


http://19.17.16.69:7424/qcbin/rest/domains

I am receiving the following error :

HTTP ERROR 500
Problem accessing /qcbin/rest/domains. Reason:

ALM-E10004: Failed to load project 'null' from domain 'null'.
Caused by:
java.lang.NullPointerException
at com.hp.alm.platform.directory.CProjectsDirectory.getItem(CProjectsDirectory.java:79)
wrapped in com.hp.alm.platform.siteadmin.session.ProjectDoesNotExisatException: ALM-E10004: Failed to load project 'null' from domain 'null'.
at com.hp.alm.platform.directory.CProjectsDirectory.getItem(CProjectsDirectory.java:125)
at org.hp.qc.impl.customization.CustomizationServiceImpl.getCustomization(CustomizationServiceImpl.java:73)
at org.hp.qc.impl.customization.CustomizationServiceImpl.getDefaultCustomization(CustomizationServiceImpl.java:55)
at sun.reflect.GeneratedMethodAccessor173.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at org.hp.qc.impl.aspects.cache.ReturnValueCachingAspect$CacheResult.get(ReturnValueCachingAspect.java:228)
at org.hp.qc.impl.aspects.cache.ReturnValueCachingAspect.invoke(ReturnValueCachingAspect.java:107)
at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy63.getDefaultCustomization(Unknown Source)
at org.hp.qc.impl.customization.CustomizationServiceImpl.find(CustomizationServiceImpl.java:44)
at sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy63.find(Unknown Source)
at org.hp.qc.impl.services.sessionmanagement.AuthenticationImpl.getPrincipal(AuthenticationImpl.java:73)
at com.hp.sw.bto.ast.security.lwsso.authenticator.springSecurity.SpringSecurity2LWSSOIntegrationFilter.createSecurityContext(SpringSecurity2LWSSOIntegrationFilter.java:263)
at com.hp.sw.bto.ast.security.lwsso.authenticator.springSecurity.SpringSecurity2LWSSOIntegrationFilter.creatSecurityContextForNonExistingUser(SpringSecurity2LWSSOIntegrationFilter.java:239)
at com.hp.sw.bto.ast.security.lwsso.authenticator.springSecurity.SpringSecurity2LWSSOIntegrationFilter.doFilter(SpringSecurity2LWSSOIntegrationFilter.java:172)
at org.hp.qc.web.restapi.authentication.QCSpringSecurity2lwssoIntegrationFilter.doFilter(QCSpringSecurity2lwssoIntegrationFilter.java:29)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
at org.hp.qc.web.restapi.sessionmanagement.ImplicitSessionFilter.doFilter(ImplicitSessionFilter.java:76)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
at org.hp.qc.web.restapi.authentication.QC2SpringIntegrationFilter.LWSSO2SpringSecurityIntegrationFilterDoFilter(QC2SpringIntegrationFilter.java:350)
at org.hp.qc.web.restapi.authentication.QC2SpringIntegrationFilter.doFilter(QC2SpringIntegrationFilter.java:71)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
at org.hp.qc.web.restapi.authentication.FilterChainProxyWrapper.doFilter(FilterChainProxyWrapper.java:80)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
at com.mercury.optane.core.state.ServerStatusFilter.doFilter(ServerStatusFilter.java:37)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
at org.hp.qc.web.restapi.authentication.LwssoRedirectFilter.doFilter(LwssoRedirectFilter.java:28)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:312)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:345)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
at java.lang.Thread.run(Thread.java:662)

What is causing this error? Is there is any setting or privilege which needs to be done on ALM Side?

Thanks in advance 🙂

 

0 Likes
6 Replies
Micro Focus Expert
Micro Focus Expert

http://19.17.16.69:7424/qcbin/rest/domains?login-form-required=y

Can you please try with above URL from web browser?

0 Likes
Cadet 1st Class
Cadet 1st Class

@aRiYuAn Tried on the Web browser and after providing credentials, I got the response but when I used Postman then I got the same error instead of response.

0 Likes
Micro Focus Expert
Micro Focus Expert

The version you're using is quite old.

But you can try the following ways to narrow down the issue

1. Try using a different user

2. Check and see if other API works

3. Try to use COM API like OTA and SA instead of Rest API if possible

Since the help documentation for 11.52 is not available online, it's better to check with embedded help doc from your ALM server.

0 Likes
Micro Focus Frequent Contributor
Micro Focus Frequent Contributor

This is an old version so I will have to do it from memory. If you are using Postman,  then first request should still be authentication.  Once you have authenticated, then you can proceed to do other queries like getting list of domains.

Example:

1. Create a Login request using basic authentication

Method = GET

URL =

http://19.17.16.69:7424/qcbin/authentication-point/authenticate

Under Authorization tab,  select Basic Auth and enter your user name and password.

You should get a 200 response if authentication is successful.  You should also get a LWSSO_COOKIE_KEY which will be used in subsequent requests in Postman.

2. Create a request for list of domains

Method= GET

URL =

http://19.17.16.69:7424/qcbin/rest/domains

 

Alternatively, you can use your browser to query as mentioned before.

http://19.17.16.69:7424/qcbin/rest/domains?login-form-required=y

Once you have login, you should see the list of domains that your account has access to.

Thanks,

Thanh

 

0 Likes
Cadet 1st Class
Cadet 1st Class

1.) This error is coming with one or two users of the project, but the rest of the other users on the same project are able to fetch the domains using the same API (http://19.17.16.69:7424/qcbin/rest/domains).

2 .) calls to different APIs also works fine (e.g. /rest/domains/<domain>/projects/<proj>/run/<RunID>/run-steps)
0 Likes
Micro Focus Frequent Contributor
Micro Focus Frequent Contributor

This may not be an issue with REST then.  Please login to Site Admin, navigate to the Site Users tab, and look up the users with the issue.  Check to see if there are any projects that the users belong to that problematic such as failed to be created but still exist in the instance.

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.