messageLogger.logInfo("Returned attributes: [" + attributeNames + "]", serviceTicket);
messageLogger.logDebug("Returned attributes: [" + attributeNames + "]", serviceTicket);
    public Attribute[] getUserAttributes(final String serviceTicket) throws RemoteException {        /* Axis message context containg request data. */        MessageContext messageContext = MessageContext.getCurrentContext();        String servicePrincipal = messageContext.getUsername();        try {            Map returnAttributes = MoriaController.getUserAttributes(serviceTicket, servicePrincipal);                        // DEBUG CODE STARTS            String attributeNames = "";            Set keySet = returnAttributes.keySet();            if (keySet != null) {                Iterator i = keySet.iterator();                while (i.hasNext())                    attributeNames = attributeNames + i.next() + ", ";                attributeNames = attributeNames.substring(0, attributeNames.length() - 2);            }            messageLogger.logInfo("Returned attributes: [" + attributeNames + "]", serviceTicket);            // DEBUG CODE ENDS                        return mapToAttributeArray(returnAttributes, serviceTicket);        } catch (IllegalInputException iie) {            messageLogger.logWarn(ILLEGAL_INPUT_EX_MSG + servicePrincipal, iie);            throw new RemoteException(iie.getMessage());        } catch (InoperableStateException ise) {            messageLogger.logCritical(INOP_STATE_EX_MSG + servicePrincipal, ise);            throw new RemoteException(ise.getMessage());        } catch (UnknownTicketException ute) {            messageLogger.logWarn(UNKNOWN_TICKET_EX_MSG + servicePrincipal, ute);            throw new RemoteException(ute.getMessage());        } catch (AuthorizationException e) {            messageLogger.logWarn("Service not allowed for organization. Throwing RemoteException to service: ", e);            throw new RemoteException(e.getMessage());        }    }