It's all about the answers!

Ask a question

Problem Authenticating to DNG Repository


Avery Granum (3115) | asked Sep 24 '18, 3:46 p.m.
edited Sep 25 '18, 11:08 a.m.

Hi, I've got a Jazz Java API issue connecting to a DNG Repository on 6.0.6 which works on another DNG 6.0.6 repository of mine.  My team has access to the server and its configurations.  Is there a place I ought to look in order to better debug this issue?

Exception in thread "main" com.ibm.team.repository.common.transport.TeamServiceException: Replaying the original POST/PUT/DELETE request on a redirection sequence more than 10 times
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1602)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.handleAuthentication(RemoteTeamServer.java:1614)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeWithAuthHandling(RemoteTeamServer.java:1436)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeMethod(RemoteTeamServer.java:1027)
    at com.ibm.team.repository.transport.client.RemoteTeamServer.executeMethod(RemoteTeamServer.java:976)
    at com.ibm.team.repository.transport.client.RemoteTeamService.executeCancelableHttpMethod(RemoteTeamService.java:658)
    at com.ibm.team.repository.transport.client.RemoteTeamService.invokePost(RemoteTeamService.java:605)
    at com.ibm.team.repository.transport.client.RemoteTeamService.executeMethod(RemoteTeamService.java:548)
    at com.ibm.team.repository.transport.client.RemoteTeamService.invoke(RemoteTeamService.java:202)
    at com.ibm.team.repository.transport.client.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:43)
    at com.sun.proxy.$Proxy0.describe(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invokeServiceCall(ServiceInterfaceProxy.java:254)
    at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invoke(ServiceInterfaceProxy.java:110)
    at com.sun.proxy.$Proxy0.describe(Unknown Source)
    at com.ibm.team.repository.client.internal.TeamRepository$4.run(TeamRepository.java:1564)
    at com.ibm.team.repository.client.internal.TeamRepository$4.run(TeamRepository.java:1)
    at com.ibm.team.repository.client.internal.TeamRepository$3.run(TeamRepository.java:1327)
    at com.ibm.team.repository.common.transport.CancelableCaller.call(CancelableCaller.java:79)
    at com.ibm.team.repository.client.internal.TeamRepository.callCancelableService(TeamRepository.java:1322)
    at com.ibm.team.repository.client.internal.TeamRepository.internalLogin(TeamRepository.java:1557)
    at com.ibm.team.repository.client.internal.TeamRepository.login(TeamRepository.java:653)

    at com.ibm.team.repository.client.internal.TeamRepository.login(TeamRepository.java:627)
...

2 answers



permanent link
Jim Ruehlin (79114) | answered Oct 03 '18, 4:26 p.m.
JAZZ DEVELOPER
Hi Avery,

Your problem might be with the authentication on the DNG server that's failing. If the code works on other servers I'd check to see how you're authenticating with the failing server. Maybe the credentials for the user are different on the different servers?

It's also possible the issue could be because you don't have the same permissions in the project (project role) on the failing server as you have in projects on the server that's successful. Not sure if that would cause an Auth issue but it's worth looking into. But the first thing I'd look at is the user credentials being used to make the API request on the failing server.

Be sure to check what Jazz role the user has on both servers (not just the project role). The user might be a JAZZ_ADMIN on one server and JAZZ_GUEST on another. You might not have sufficient Jazz permissions to make the API call even if the user's creds are correct.

Comments
Mallikarjuna Kandala commented Oct 05 '18, 7:55 a.m. | edited Oct 05 '18, 7:56 a.m.

We have already made sure that the user is having jazzAdmin repository permission and licenses. But still no luck. Also, the same credentials are working in <g class="gr_ gr_60 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" data-gr-id="60" id="60"> webUI </g> so may not <g class="gr_ gr_91 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace" data-gr-id="91" id="91"> be credentials </g> issue too.


permanent link
Jim Ruehlin (79114) | answered Oct 05 '18, 12:42 p.m.
JAZZ DEVELOPER
OK. Be sure to check that the user has been assigned the same credentials on both instances of DNG (same login/PW/token/whatever). Merely having the JAZZ_ADMIN role won't guarantee authentication.

Make sure the user also has the same permissions in the DNG projects on both machines. This can be tricky depending on the roles and project customizations that maybe have been done to the different projects. The same role in 2 different projects could possibly have different permissions.

Given that the same code works on the same version of the app on a different machine, your problem is probably not the code. You should also look at the API you're using and consider if that particular call requires permission that the user doesn't have on the instance that's failing.

- Jim


Comments
Mallikarjuna Kandala commented Oct 09 '18, 8:34 a.m.

 Hi Jim,


Thank you for responding and trying to help.

In this case, we have multiple instances/repositories. we are not able to create the project area yet in one of the instances/repositories, so we could not compare the roles with the project area in other repositories where it is working fine. 


I have observed an SSO issue in the same instance. While checking the configuration, I have found that the server.xml has entry which is pointed to basic user registry instead of LDAP user registry. So I have just updated the server.xml file, to point to LDAP user registry. I think this might have happened after 6.0.6 upgrade somehow.

Surprisingly, even though the configuration pointed to basic user registry, it still allowed web UI so I never really checked server.xml in past. It seems to be working fine now after the restart.

Thanks again.

Your answer


Register or 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.