/** @see org.apromore.filestore.client.FileStoreService#readUserByEmail(String) {@inheritDoc} */
  @Override
  @SuppressWarnings("unchecked")
  public UserType readUserByEmail(String email) throws Exception {
    LOGGER.debug("Preparing ResetUserRequest.....");

    ReadUserByEmailInputMsgType msg = new ReadUserByEmailInputMsgType();
    msg.setEmail(email);

    JAXBElement<ReadUserByEmailInputMsgType> request =
        WS_CLIENT_FACTORY.createReadUserByEmailRequest(msg);

    JAXBElement<ReadUserByEmailOutputMsgType> response =
        (JAXBElement<ReadUserByEmailOutputMsgType>)
            webServiceTemplate.marshalSendAndReceive(request);
    if (response.getValue().getResult().getCode() == -1) {
      throw new Exception(response.getValue().getResult().getMessage());
    } else {
      return response.getValue().getUser();
    }
  }