public String[] listRoles() throws RemoteException, VOMSException {

    log.info("listRoles();");

    try {

      List roles = (List) ListRolesOperation.instance().execute();

      HibernateFactory.commitTransaction();

      return ServiceUtils.rolesToStringArray(roles);

    } catch (RuntimeException e) {

      ServiceExceptionHelper.handleServiceException(log, e);
      throw e;
    }
  }