{"record":{"id":"423a63aba9813d0b","repo":"pentaho/pentaho-kettle","slug":"error-0006-unable-to-get-users","errorCode":"ERROR_0006_UNABLE_TO_GET_USERS","errorMessage":"UserRoleDelegate.ERROR_0006_UNABLE_TO_GET_USERS","messagePattern":"UserRoleDelegate\\.ERROR_0006_UNABLE_TO_GET_USERS","errorType":"error_code","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/pur/core/src/main/java/org/pentaho/di/repository/pur/UserRoleDelegate.java","lineNumber":297,"sourceCode":"      if ( user != null && user.getName().equals( name ) ) {\n        userInfo = UserRoleHelper.convertToUserInfo( user, userRoleWebService.getRolesForUser( user ), rsm );\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( UserRoleDelegate.class,\n          \"UserRoleDelegate.ERROR_0005_UNABLE_TO_GET_USER\", name ), e ); //$NON-NLS-1$\n    }\n    return userInfo;\n  }\n\n  public List<IUser> getUsers() throws KettleException {\n    try {\n      if ( hasNecessaryPermissions ) {\n        return UserRoleHelper.convertFromProxyPentahoUsers( userRoleSecurityInfo, rsm );\n      } else {\n        return UserRoleHelper.convertFromNonPentahoUsers( userRoleInfo, rsm );\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( UserRoleDelegate.class,\n          \"UserRoleDelegate.ERROR_0006_UNABLE_TO_GET_USERS\" ), e ); //$NON-NLS-1$\n    }\n  }\n\n  public void updateUser( IUser user ) throws KettleException {\n    ensureHasPermissions();\n\n    try {\n      ProxyPentahoUser proxyUser = UserRoleHelper.convertToPentahoProxyUser( user );\n      userRoleWebService.updateUser( proxyUser );\n      if ( user instanceof IEEUser ) {\n        userRoleWebService.setRoles( proxyUser, UserRoleHelper.convertToPentahoProxyRoles( ( (IEEUser) user )\n            .getRoles() ) );\n      }\n      lookupCache.updateUserInLookupSet( user );\n      fireUserRoleListChange();\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( UserRoleDelegate.class,","sourceCodeStart":279,"sourceCodeEnd":315,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/pur/core/src/main/java/org/pentaho/di/repository/pur/UserRoleDelegate.java#L279-L315","documentation":"Security/WebServices failure in UserRoleDelegate.getUsers: the call to list users from the BI Server's user-role service failed. The localized ERROR_0006 message wraps the underlying exception; common causes are missing proxy permissions on the server side.","triggerScenarios":"Thrown at plugins/pur/core/src/main/java/org/pentaho/di/repository/pur/UserRoleDelegate.java:297 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the user has administrative proxy permissions in the BI Server","Check the web service endpoint and credentials configured for the repository connection"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if (repository == null || !repository.isConnected()) {\n  throw new IllegalStateException(\"Repository not connected; getUsers() will fail\");\n}","typeGuard":null,"tryCatchPattern":"try {\n  List<IUser> users = userRoleDelegate.getUsers();\n} catch (KettleException e) {\n  log.error(\"User list fetch failed: \" + e.getCause(), e);\n  // possibly re-login and retry once\n}","preventionTips":["Verify repository connection state before listing.","Reconnect on stale sessions.","Ensure the account has security-read permissions."],"tags":[],"backgroundTag":null,"analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}